來刷 LeetCode 吧! 17 58.Length of Last Word
LeetCode
題目分析
給一個包含單字、空格的字串 s ,回傳最後一個單字的長度。
第一直覺
JS 組合技:
- trim() 清除頭尾空格
- split(” ”) 用空格拆成陣列
- slice( -1 ) 取最後一個元素,並回傳長度
var lengthOfLastWord = function (s) { return s.trim().split(" ").slice(-1)[0].length; }; console.log(lengthOfLastWord("Hello World")); //5 console.log(lengthOfLastWord(" fly me to the moon ")); //4 console.log("luffy is still joyboy"); //6
- 使用 pop( ) 可以少寫一點
var lengthOfLastWord = function (s) { return s.trim().split(" ").pop().length; };
盡量不使用內建 function
- 用 trim() 消除頭尾空白
- 用 for 迴圈從 s 的尾端開始檢查,直到檢查到空白
- 若 s.length = 1 便無法回傳 length,需要再最後加一個 return 回傳
var lengthOfLastWord = function (s) { s = s.trim(); let length = 0; for (let i = s.length - 1; i >= 0; i--) { if (s[i] === " ") { return length; } else { length++; } } return length; };