# Leetcode 151. Reverse Words in a String 給定輸入字符串,逐個單詞地反轉字符串。 ## 想法 ### (1)使用for迴圈將字詞分開 我們分別使用一個紀錄所有以斷句字詞的array,以及一個儲存還未切割之單字的變數,當遇到空白且未切割之單字的長度不為0時,將他加進array裡,最後在處理反轉的部分。 程式碼: ``` def reverseWords(self, s: str) -> str: ans = [] buffer = "" for i in s: if(i==" "): if(len(buffer)!=0): ans.append(buffer) buffer = "" else: buffer+=i if(len(buffer)!=0): ans.append(buffer) return " ".join(ans[::-1]) ``` ### (2)使用python的split 先使用python內建的split切割,但是因為會有多個空格相連,所以我們之後需要在判斷去掉完全為空白的單詞,在使用join來將答案組成。 程式碼: ``` def reverseWords(self, s: str) -> str: s = s.split(" ") ans = [] for i in range(len(s)): if(len(s[i])!=0): ans.append(s[i]) return " ".join(ans[::-1]) ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up