LeetCode151 反轉字串裡的單詞

2022-10-01 00:27:16 字數 1134 閱讀 8378

給你乙個字串 s ,逐個翻轉字串中的所有 單詞 。

單詞 是由非空格字元組成的字串。s 中使用至少乙個空格將字串中的 單詞 分隔開。

請你返回乙個翻轉 s 中單詞順序並用單個空格相連的字串。

說明:輸入字串 s 可以在前面、後面或者單詞間包含多餘的空格。

翻轉後單詞間應當僅用乙個空格分隔。

翻轉後的字串中不應包含額外的空格。

示例 1:

輸入:s = "the sky is blue"

輸出:"blue is sky the"

示例 2:

輸入:s = " hello world "

輸出:"world hello"

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

示例 3:

輸入:s = "a good example"

輸出:"example good a"

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

示例 4:

輸入:s = " bob loves alice "

輸出:"alice loves bob"

示例 5:

輸入:s = "alice does not even like bob"

輸出:"bob like even not does alice"

1 <= s.length <= 10⁴

s 包含英文大小寫字母、數字和空格 ' '

s 中 至少存在乙個 單詞

高階:

請嘗試使用 o(1) 額外空間複雜度的原地解法。

直接調方法

\s+是匹配所有顯示空格的型別,包括:

class solution 

}

雙端佇列法
class solution else if(c!=' ')

left ++;

}queue.offerfirst(word.tostring());

return string.join(" ",queue);

}}

二次翻轉法

先去除兩端的空格,然後翻轉字串,然後再翻轉字母

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 再這裡需要逐一的是輸入的字串可以在前面或者後面包含多餘的空格,但反轉後的單詞間的空格只能減少到乙個。思路 在這裡考慮進行兩次翻...