力扣題庫之最後一個單詞長度
-
給定一個僅包含大小寫字母和空格 ’ ’ 的字元串 s,傳回其最後一個單詞的長度。如果字元串從左向右滾動顯示,那麼最後一個單詞就是最後出現的單詞如果不存在最後一個單詞,請傳回 0 。
說明:一個單詞是指僅由字母組成、不包含任何空格字元的 最大子字元
/* 給定一個僅包含大小寫字母和空格 ' ' 的字元串 s,傳回其最後一個單詞的長度。
如果字元串從左向右滾動顯示,那麼最後一個單詞就是最後出現的單詞
如果不存在最後一個單詞,請傳回 0 。
說明:一個單詞是指僅由字母組成、不包含任何空格字元的 最大子字元串。 */
var lengthOfLastWord = function(str) {
//如果字元串長度為0 或者隻有一個空字元傳回0
if (str.length === 1 && str[0] === " " || str.length === 0) {
return 0
}
//将所有字母轉為小寫
str = str.toLowerCase()
//将字元使用空格分隔,并防禦數組
var arr = str.split(" ")
//周遊數組,找到最後一個隻有字母組成的字元串
for (var i = arr.length - 1; i >= 0; i--) {
//如果字元串内都是字母那麼該單詞就是最後一個單詞
//小寫字母ASCLL 為 97 ~ 122
for (var j = 0; j < arr[i].length; j++) {
if (arr[i].charCodeAt(j) > 122 || arr[i].charCodeAt(j) < 97) {
break
}
//當j為最後一位時,表示所有位都是字元,可以傳回單詞長度了
if(j === arr[i].length - 1){
var length = arr[i].length
return length
}
}
}
//如果不存在單詞,傳回0
return 0
};