class Solution { public String reverseWords(String s) { StringBuffer ans = new StringBuffer(""); StringBuffer res = new StringBuffer(""); for(int i = 0 ;i< s.length() ;i++) { while(i< s.length()&&s.charAt(i)==' ') i++; //找到i所对应的字符不是" " StringBuffer temp = new StringBuffer(""); //用stringBuffer 效率高 用string就超时了 while(i< s.length()&&s.charAt(i)!=' ') { temp.insert(0, s.charAt(i)) ; i++; } res.append( temp);res.append(" ");} int x = res.length()-1; while(x>= 0&&res.charAt(x)==' ') { //多加了几个空格 这里倒数找出非空格的位置 然后继续 x--; } while(x>= 0) { ans.append(res.charAt(x)); x--; } return ans.toString(); } }