link:
leetcode
解題思路:
- 逐一讀取
s
中的字元並儲存在cs
中 (push) - 若遇到空白字元且
cs
中有內容時,代表cs
中儲存了一個 word - 將該 word 取出 (pop) 至結果變數字串的最前端
- 輸入結果最後方加上空白字元,讓判斷式能正確的抓取到最後一個 word
- 若為第一個被取出的 word 則後方不需要加空白字元
- 逐一讀取
程式碼:
/**
* @param {string} s
* @return {string}
*/
var reverseWords = function(s) {
s+=" ";
let r = "";
let cs = "";
for(var i=0; i<s.length; i++) {
if(s[i]!==" ") {
cs += s[i];
continue;
}
if(cs==="") {
continue;
}
r = (r==="") ? `${cs}` : `${cs} ${r}`;
cs = "";
}
return r;
};
- 結果: