美文网首页
2018-12-01 翻转字符串里的单词

2018-12-01 翻转字符串里的单词

作者: 天际神游 | 来源:发表于2018-12-01 10:52 被阅读0次

    题目:

    翻转字符串里的单词

    解法:

    先反转字符串, 在反转单词, 即可达到目的.

    public String reverseWords (String s){
        s = ' ' + s.trim();
        // 先反转字符串, 再反转单词即可.
        StringBuilder sb = new StringBuilder();
        // 从后往前遍历, 相当于反转字符串
        for (int i = s.length() - 1; i >= 0; i--) {
            if (s.charAt(i) != ' ') {
                // 检测到单词, 先搞定边界
                int start = i;
                while (start >= 0) {
                    if (s.charAt(start) == ' ') {
                        break;
                    }
                    start--;
                }
                // 添加一个单词
                for (int j = start; j <= i; j++) {
                    sb.append(s.charAt(j));
                }
                i = start;
            }
        }
        return sb.length() < 2 ? "" : sb.substring(1);
    }
    

    相关文章

      网友评论

          本文标题:2018-12-01 翻转字符串里的单词

          本文链接:https://www.haomeiwen.com/subject/wtylcqtx.html