1 题目描述
2 算法思路
算法分析:
- s.trim() ---- 删除头尾空格
- 倒序遍历字符串,记录单词左右指针i , j
- 每确定一个单词的边界,就添加到res
3 代码
class Solution {
public String reverseWords(String s) {
s.trim();
int i = s.length() - 1;
int j = i;
StringBuilder res = new StringBuilder();
while(i >= 0){
while(i >= 0 && s.charAt(i) != ' ') //找第一个空格
i--;
res.append(s.substring(i + 1,j + 1) + " ");
while(i >= 0 && s.charAt(i) == ' ') //跳过两个单词中间的空格
i--;
j = i;
}
return res.toString().trim();
}
}