题目:
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.
For example,
Given s = "Hello World"
,
return 5
.
class Solution {
public:
int lengthOfLastWord(string s) {
if(s.empty()) return 0;
int len = 0;
//转换为小写,便于判断
int i = -1;
while(s[++i]) s[i] = tolower(s[i]);
//过滤掉串尾的非字母字符
string::iterator iter = s.end()-1;
while(iter >= s.begin() && !(*iter >= 'a' && *iter <= 'z')) --iter;
while(iter >= s.begin() && *iter >= 'a' && *iter <= 'z'){
++len;
--iter;
}
return len;
}
};