Reverse Words in a String

Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

package leetcode;

public class ReverseWords {
    public static String reverseOneWords(String s) {

        char[] words = s.toCharArray();
        int len = words.length;
        for (int i = 0; i < len / 2; i++) {
            char tmp = words[i];
            words[i] = words[len - i - 1];
            words[len - i - 1] = tmp;

        }
        return new String(words);

    }

    public static String reverseWords(String s) {
        s = reverseOneWords(s);
        String[] words = s.split(" ");
        int len = words.length;
        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < len; i++) {
            words[i] = reverseOneWords(words[i]);
            buffer.append(words[i]);
            if (i <= len - 2 && words[i].length() > 0) {
                buffer.append(" ");
            }
        }
        return buffer.toString();

    }

    public static void main(String[] args) {
        System.out.println(reverseWords("1 "));

    }

}

 

posted @ 2016-01-17 22:47  程序猿进化之路  阅读(115)  评论(0)    收藏  举报