給定乙個字串,你需要反轉字串中的每個單詞字元順序,同時仍保留空格和單詞的初始順序。
注意:在字串中,每個單詞由單個空格分隔,並且字串中不會有任何額外的空格。
示例1:
輸入: "解法一:遍歷+reversed思路:首先將字串以空格來分割成不同的字串,然後通過遍歷將每個字串然後將其反轉。let's take leetcode contest
"輸出:
"s'tel ekat edocteel tsetnoc
"
func reversewords(_ s: string) ->string下面我們在playground下面執行的結果,對應每行的效果:let words = s.split(separator: "")
var result = ""
words.foreach
result.removelast()
return
result
}let words = reversewords("
let's take leetcode contest")
print(words)
解法二:雙指標+異或交換法
雙指標法在執行的過程中會有乙個頭指標固定,尾指標不斷向前移動,遇到空格即為頭指標和尾指標之間為乙個單詞,然後對這個單詞進行反轉即可。
而使用的交換演算法是反轉字串中最快速的異或交換法,不過實際上還是乙個雙指標的解法。
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...