# leetcode解題:(Medium) 151. Reverse Words in a String 題目:[https://leetcode.com/problems/reverse-words-in-a-string/](https://leetcode.com/problems/reverse-words-in-a-string/) 描述:給定一個字串s,將字串裡的所有單字(words)顛倒順序後輸出,s中的單字會以1或多個空格間隔,輸出的單字間需以一個空格區隔 解題思路:Java中已經有很多實作好的常用字串的操作函式(對我就懶),首先用trim()將s頭尾多餘的空格去除,接著用split(" +")將s切割成各個單字,參數的" +"代表的是會有1個或多個("+")的空格(" "),將切割得到的單字以顛倒順序接成輸出的結果即可,最後一行是將最後多出的一個空格去掉。 程式碼: ```JAVA= class Solution { public String reverseWords(String s) { String result = ""; String[] ss = s.trim().split(" +"); for(int i = ss.length-1; i >= 0; i--) { result += ss[i] + " "; } return result.substring(0, result.length()-1); } } ``` 時間複雜度:據我所查看到的資料,直接用+=對String後面接上新資料會是O(n!)...好ㄛ,比較好的方法應該是用StringBuilder 空間複雜度:O(n) ###### tags: `leetcode` `medium`
×
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