翻轉字串裡的單詞

2021-09-24 08:36:35 字數 989 閱讀 8116

給定乙個字串,逐個翻轉字串中的每個單詞。

示例 1:

輸入: "the sky is blue"

輸出: "blue is sky the"

複製**

示例 2:

輸入: "  hello world!  "

輸出: "world! hello"

解釋: 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。

複製**

示例 3:

輸入: "a good   example"

輸出: "example good a"

解釋: 如果兩個單詞間有多餘的空格,將反轉後單詞間的空格減少到只含乙個。

複製**

說明:

高階:請選用 c 語言的使用者嘗試使用 o(1) 額外空間複雜度的原地解法。

解體思路: 先將整個字串反轉,再逐個翻轉字串,最後去除多餘的 ' ' 字元

class solution

int j = i + 1;

for( ; j < chs.length; j++)

}reverse( chs , i , j - 1 );

i = j ;

}return trim( chs );

}public void reverse( char chs ,int begin ,int end)

}public string trim( char chs )

while(i < chs.length && chs[i] != ' ' )

while(i < chs.length && chs[ i ] == ' ' )

if( i < chs.length )

chs[j++] = ' ';

}return new string(chs).substring( 0 , j );

}複製**

翻轉字串裡的單詞

給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。示例 3 輸入 a good ...

翻轉字串裡的單詞

include include 給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括...

翻轉字串裡的單詞

題目 給定乙個字串,逐個翻轉字串中的每個單詞。說明 無空格字元構成乙個 單詞 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。如果兩個單詞間有多餘的空格,將反轉後單詞間的空格減少到只含乙個。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例...