LeetCode:Reverse Words in a String

来源:互联网 发布:安卓5.0源码下载 编辑:程序博客网 时间:2024/05/16 15:38

题目比较简单,需要注意两个连续的空格的时候输出为一个空格。

如果输入只有空格,应返回空字符串。


public class Solution {public String reverseWords(String s) {int begin = s.length() - 1;StringBuilder sb = new StringBuilder();int i = s.length() - 1;        while (i >= 0) {        char c = s.charAt(i);        if (c == ' ') {        for (int j = i + 1; j <= begin; j++) {        sb.append(s.charAt(j));        }        if (begin > i) {        sb.append(s.charAt(i));        }        while (i >= 0 && s.charAt(i) == ' ') {        i--;        }        begin = i;        } else {        i--;        }        }                for (int j = 0; j <= begin; j++) {sb.append(s.charAt(j));}                return sb.toString().trim();    }public static void main(String[] args) {Solution s = new Solution();String ss = s.reverseWords(" a b c");System.out.println(ss.length());System.out.println(ss);}}


0 0