力扣题目链接
本题整体思路为从后向前遍历,遇到空格则则跳过,遇到单词则将单词和一个空格加入到结果字符串中,具体解释看代码:
class Solution {
public String reverseWords(String s) {
StringBuilder result = new StringBuilder();
int i = s.length() - 1;
while(i >= 0){
while(i >= 0 && s.charAt(i) == ' '){?、是空格则跳过
i--;
}
int j = i;//记下此单词结束的下标
while(i >= 0 && s.charAt(i) != ' '){
i--;
}
if(i != j){//防止将开始位置的空格加入
result.append(s.substring(i+1,j+1));//将单词加入到结果字符串
result.append(" ");
}
}
int l = result.length() - 1;
result.delete(l,l+1);//删除最后的空格
return new String(result.toString());
}
}



