class Solution {
public String reverseWords(String s) {
String ss=s.trim();
int i=s.length()-1;
int j=s.length();
StringBuilder res=new StringBuilder();
while(i>=0){
while(i>=0&&s.charAt(i)!=' '){
i--;
}
// 是左闭右开的
res.append(s.substring(i+1,j));
res.append(" ");
while(i>=0&&s.charAt(i)==' '){
i--;
}
j=i+1;
}
return res.toString().trim();
}
}
// class Solution {
// // 直接使用api,面试估计不让用
// // 注意split的用法,它是以你给出的分隔符为界限,把这个删了,分割左右
// // 如果是“i am”,中间两个空格,他会以两个空格划线,左右是i,am,但两个空格中间是空,这个空也会占一个位置。
// // 因此结果是【i,"",am】,数组长度为三,中间有个""而非“ ”
// public String reverseWords(String s) {
// String[] ss=s.trim().split(" ");
// StringBuilder stringBuilder=new StringBuilder();
// for(int i=ss.length-1;i>=0;i--){
// // 细节
// if(ss[i].equals("")) continue;
// stringBuilder.append(ss[i]);
// stringBuilder.append(" ");
// }
// return stringBuilder.toString().trim();
// }
// }