簡介: 演算法面試真題詳解:翻轉字串中的單詞
給定一個字串,逐個翻轉字串中的每個單詞。
說明單詞的構成:無空格字母構成一個單詞,有些單詞末尾會帶有標點符號輸入字串是否包括前導或者尾隨空格?可以包括,但是反轉後的字元不能包括如何處理兩個單詞間的多個空格?在反轉字串中間空格減少到只含一個
線上評測地址:領釦題庫官網
樣例1:輸入: "the sky is blue" 輸出: "blue is sky the" 樣例解釋: 返回逐字反轉的字串.
樣例2:輸入: "hello world" 輸出: "world hello" 樣例解釋: 返回逐字反轉的字串.
題解:public class Solution { /* * @param s: A string * @return: A string */ public String reverseWords(String s) { // write your code here if(s.length() == 0 || s == null){ return " "; } //按照空格將s切分 String[] array = s.split(" "); StringBuilder sb = new StringBuilder(); //從後往前遍歷array,在sb中插入單詞 for(int i = array.length - 1; i >= 0; i--){ if(!array[i].equals("")) { if (sb.length() > 0) { sb.append(" "); } sb.append(array[i]); } } return sb.toString(); }}
最新評論