給定乙個字串,逐個翻轉字串中的每個單詞。
說明:無空格字元構成乙個 單詞 。
輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。
如果兩個單詞間有多餘的空格,將反轉後單詞間的空格減少到只含乙個。
示例 1:
輸入:「the sky is blue」
輸出:「blue is sky the」
示例 2:
輸入:" hello world! "
輸出:「world! hello」
解釋:輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。
用左右指標,先過濾掉最左最右的空格
然後用乙個雙端佇列,乙個stringbuilder
stringbuilder
用於拼接字元成乙個完整的單詞
雙端佇列用於拼接這些單詞,並且都是新增到頭部,達到逆序的目的
最後用空格拼接佇列中的字串
class
solution
while
(left <= right && s.
charat
(right)
==' '
) deque
deque =
newlinkedlist
<
>()
; stringbuilder word =
newstringbuilder()
;while
(left <= right)
}else
left++;}
deque.
offerfirst
(word.
tostring()
);return string.
join
(" "
, deque);}
}
LeetCode 151 翻轉字串
給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。示例 3 輸入 a good ...
Leetcode 151 翻轉字串
給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。示例 3 輸入 a good ...
leetcode151翻轉字串單詞
leetcode151.翻轉字串裡的單詞 題目描述 給定乙個字串,逐個翻轉字串中的每個單詞 示例 輸入 the sky is blue 輸出 blue is sky the 再這裡需要逐一的是輸入的字串可以在前面或者後面包含多餘的空格,但反轉後的單詞間的空格只能減少到乙個。思路 在這裡考慮進行兩次翻...