使用堆栈反转单词的Java代码

bluesky1年前 ⋅ 68 阅读

ChatGPT的回答仅作参考:

下面是使用堆栈反转单词的Java代码示例:

```java
import java.util.Stack;

public class WordReverser {
    public static String reverseWords(String sentence) {
        // 创建一个堆栈来存储单词
        Stack<String> stack = new Stack<>();

        // 将句子按空格分割成单词
        String[] words = sentence.split(" ");

        // 将单词压入堆栈
        for (String word : words) {
            stack.push(word);
        }

        // 从堆栈中弹出单词并重新构建句子
        StringBuilder reversedSentence = new StringBuilder();
        while (!stack.isEmpty()) {
            reversedSentence.append(stack.pop()).append(" ");
        }

        // 移除最后一个空格并返回反转后的句子
        return reversedSentence.toString().trim();
    }

    public static void main(String[] args) {
        String sentence = "Hello World!";
        String reversedSentence = reverseWords(sentence);
        System.out.println(reversedSentence);
    }
}
```

这段代码将输入的句子按空格分割成单词,并将单词压入堆栈中。然后,从堆栈中弹出单词并重新构建句子。最后,移除最后一个空格并返回反转后的句子。在上面的示例中,输入的句子是"Hello World!",输出的反转后的句子是"World! Hello"。

全部评论: 0

    相关推荐