題目:
給你一個由英文字母和空格組成的字串 s
,回傳字串中最後一個單詞的長度。
單詞指由非空格字元組成的最大子字串,並且字串末尾可能有多餘的空格。
這題很重要的一點就是從後面往前找,也就是從右往左,這樣可以節省時間,
所以一開始就是跳過空白,來到最後一個 word,接著開始計算 word 的長度,
class Solution {
public:
int lengthOfLastWord(string s) {
int i = s.size() - 1;
int len = 0;
// 從右到左,跳過空白
while (i >= 0) {
if (s[i] == ' ')
i--;
else
break;
}
// 計算word長度
while (i >= 0) {
if (s[i] != ' ')
len++;
else
break;
i--;
}
return len;
}
};