151. Reverse Words in a String

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

 

Example 1:

Input: "the sky is blue"
Output: "blue is sky the"

Example 2:

Input: "  hello world!  "
Output: "world! hello"
Explanation: Your reversed string should not contain leading or trailing spaces.

Example 3:

Input: "a good   example"
Output: "example good a"
Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.

 

Note:

  • A word is defined as a sequence of non-space characters.
  • Input string may contain leading or trailing spaces. However, your reversed string should not contain leading or trailing spaces.
  • You need to reduce multiple spaces between two words to a single space in the reversed string.
    class Solution {
        public String reverseWords(String s) {
               String[] arr = s.split(" ");
            StringBuilder sb = new StringBuilder();
            for(int i=arr.length-1; i>=0; i--){
                if(arr[i].length() > 0) {
                    sb.append(arr[i] + " ");
                }
            }
            
            return sb.toString().trim();
        }
    }

     

posted @ 2019-10-21 08:24  Schwifty  阅读(110)  评论(0编辑  收藏  举报