逆置一个英语句子

本文介绍了一种使用Java栈实现字符串逆序的方法。通过将字符串按空格分割为数组,然后依次压入栈中,最后顺序出栈并拼接,实现了句子的逆序输出。文章详细展示了代码实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

例子: “.you love I”
输出:“I love you.”

思路

  1. 将字符串按照空格分隔成数组。
  2. 将数组顺序入栈。
  3. 将栈中数据顺序出栈并添加到字符串中,用空格分隔。
  4. 去掉多余空格。
import java.util.*;
public class Solution {
    public String ReverseSentence(String str) {
        //边界检查
        if(str == null || str.trim().length()==0){
            return str;
        }
        StringBuilder stringBuilder = new StringBuilder();
        //借助栈去倒置
        Stack<String> stack = new Stack<>();
        //以空格分隔
        String[] split = str.split(" ");
        for (String s : split) {
            //压栈
            stack.push(s);
        }
        while(!stack.empty()){
            //添加进字符串并添加分隔符空格
            stringBuilder.append(stack.pop()+" ");
        }
        String res = stringBuilder.toString();
        String result = res.substring(0,res.length()-1);
        return result;
    }
}