使用双指针 倒序遍历字符串 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(); } }