題目
給定一個僅包含大小寫字母和空格 ’ ’ 的字符串 s,返回其最後一個單詞的長度。如果字符串從左向右滾動顯示,那麼最後一個單詞就是最後出現的單詞。
如果不存在最後一個單詞,請返回 0 。
說明:一個單詞是指僅由字母組成、不包含任何空格字符的 最大子字符串。
示例:
輸入: “Hello World”
輸出: 5
來源:力扣(LeetCode)
思路
只關注最後一個單詞的長度,所以從字符串末尾開始,先將末尾的空格都去掉,然後開始找非空格的字符統計其長度即可。
C++代碼
class Solution {
public:
int lengthOfLastWord(string s)
{
int right = s.size() - 1, res = 0;
while (right >= 0 && s[right] == ' ')
--right;
while (right >= 0 && s[right] != ' ')
{
--right;
++res;
}
return res;
}
};