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
.
[Anlysis]
从尾到头遍历,注意NULL指针和后导空格的过滤。
[Solution]
class Solution {
public:
int lengthOfLastWord(const char *s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
// empty character
if(s == NULL)return 0;
// non-empty character
int len = strlen(s);
int i = len - 1, j = 0;
// filter ending spaces
while(i >= 0 && s[i] == ' '){
i--;
}
// scan the last word
while(i >= 0 && s[i] != ' '){
j++;
i--;
}
return j;
}
};
说明:版权所有,转载请注明出处。 Coder007的博客