lintcode-easy-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".

Clarification

  • What constitutes a word?
    A sequence of non-space characters constitutes a word.
  • Could the input string contain leading or trailing spaces?
    Yes. However, your reversed string should not contain leading or trailing spaces.
  • How about multiple spaces between two words?
    Reduce them to a single space in the reversed string.
public class Solution {
    /**
     * @param s : A string
     * @return : A string
     */
    public String reverseWords(String s) {
        // write your code
        if(s == null || s.length() == 0)
            return s;
        
        String str = s.trim();
        String[] array = str.split(" ");
        StringBuilder result = new StringBuilder();
        
        for(int i = array.length - 1; i >= 0; i--){
            result.append(array[i]).append(" ");
        }
        
        return result.toString().trim();
    }
}

 

posted @ 2016-03-07 06:11  哥布林工程师  阅读(140)  评论(0编辑  收藏  举报