题目描述:
Given a string s consists of upper/lower-case alphabets and empty space characters ' '
, return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
Example:
Input: "Hello World" Output: 5
从字符串最后开始查找字母,以此作为终点。然后从终点开始向前遍历,只有字母序列才能构成一个词,以此确定起点,进而得到单词长度。
class Solution {
public:
int lengthOfLastWord(string s) {
int end=0;
for(int i=s.length()-1;i>=0;i--)
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
{
end=i;
break;
}
}
int begin=end;
while((s[begin]>='a'&&s[begin]<='z')||(s[begin]>='A'&&s[begin]<='Z')) begin--;
return end-begin;
}
};