题解 | #翻转单词序列#

翻转单词序列

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刷题记录 文章被收录于专栏

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

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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