反轉字串中的單詞

2022-06-02 23:06:18 字數 1138 閱讀 1929

給定乙個字串,你需要反轉字串中的每個單詞字元順序,同時仍保留空格和單詞的初始順序。

注意:在字串中,每個單詞由單個空格分隔,並且字串中不會有任何額外的空格。

示例1:

輸入: "

let's take leetcode contest

"輸出:

"s'tel ekat edocteel tsetnoc

"

解法一:遍歷+reversed思路:首先將字串以空格來分割成不同的字串,然後通過遍歷將每個字串然後將其反轉。

func reversewords(_ s: string) ->string 

let words = s.split(separator: "")

var result = ""

words.foreach

result.removelast()

return

result

}let words = reversewords("

let's take leetcode contest")

print(words)

下面我們在playground下面執行的結果,對應每行的效果:

解法二:雙指標+異或交換法

雙指標法在執行的過程中會有乙個頭指標固定,尾指標不斷向前移動,遇到空格即為頭指標和尾指標之間為乙個單詞,然後對這個單詞進行反轉即可。

而使用的交換演算法是反轉字串中最快速的異或交換法,不過實際上還是乙個雙指標的解法。

public://

反轉字串

void reversestring(int front, int tail, string&str) }//

確定單詞邊界

string reversewords(string

s) }

reversestring(front, s.length() - 1

, s);

return

s;}

字串反轉,單詞反轉

一 字串反轉,共蒐集了 7 種方法 public class stringreversed public static void reverse1 string s char c s.tochararray 方法二 for int i 0 i s.length 2 i for char l c sy...

字串單詞反轉

class solution param s,a string return a string def reversewords self,s if len s 0 return s s join s.split 去掉所有的空格,只保留字元 串 之間的空格 s s.strip strip 去掉字串兩...

反轉字串中的單詞 III

給定乙個字串,你需要反轉字串中每個單詞的字元順序,同時仍保留空格和單詞的初始順序。示例 1 輸入 let s take leetcode contest 輸出 s tel ekat edocteel tsetnoc 注意 在字串中,每個單詞由單個空格分隔,並且字串中不會有任何額外的空格。如下 cla...