题解 | #翻转单词序列#

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

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


剑指offer刷题记录 文章被收录于专栏

这个专栏主要记录算法刷题记录 希望对看到的人有所帮助

全部评论

相关推荐

牛马人的牛马人生:500一天吗?香麻了
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务