使用双指针 倒序遍历字符串 ss ,记录单词左右索引边界 ii , jj ;
每确定一个单词的边界,则将其添加至单词列表 resres ;
最终,将单词列表拼接为字符串,并返回即可。
复杂度分析:
public class Solution {
public String ReverseSentence(String str) {
// 两边去除空格
str = str.trim();
StringBuilder sb = new StringBuilder();
int j = str.length()-1, i =j;
while (i >= 0){
while(i >= 0 && str.charAt(i) != ' '){
i--;
}
sb.append(str.substring(i+1,j+1)+" ");
while(i >= 0 && str.charAt(i) == ' '){
i--;
}
j = i;
}
return sb.toString().trim();
}
}

京公网安备 11010502036488号