逆序輸出字符串的單詞——Leetcode系列(二)

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.
My Answer:

public class Solution {
    public String reverseWords(String s) {
        String[] array = s.split(" ");
        StringBuilder builder = new StringBuilder();
        String space = " ";
        int length = array.length - 1;
        for(int i = length; i >= 0; i--){
            String cleanStr = array[i].trim();
            if(cleanStr.length() == 0){
                continue;
            }
            
            builder.append(cleanStr);
            builder.append(space);
        }
        return builder.toString().trim();
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章