import java.util.*; public class Solution { // 理由栈先进后出的特性,来进行字符串的反转 // 要注意的是,str中只是单词的顺序反了,不是字母整体的顺序反了。 // 思路:首先要将单词根据空格进行分割,之后对单词的顺序进行翻转。 public String ReverseSentence(String str) { if(str.length() == 0 || str.length() == 1) return str; String[] strs = str.split(" "); Stack<String> stack = new Stack<>(); for(int i = 0;i<strs.length;i++){ // 注意这样添加空格,最后会多出来一个空格要删除掉 stack.add(strs[i]+" "); } StringBuilder res_str = new StringBuilder(); while(!stack.isEmpty()){ res_str.append(stack.pop()); } res_str.deleteCharAt(res_str.length()-1); return res_str.toString(); } }