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(const char *s) {
if (s==NULL)
return 0;
int length = strlen(s) -1;
int length_last_word = 0;
while (s[length] == ' ' && length>-1)
--length;
while (length>-1 && s[length]!=' ')
{
--length;
++length_last_word;
}
return length_last_word;
}
};
我还看到有一个博主写的,很简洁的代码,一并贴上来,地址 点击打开链接
class Solution {
public:
int lengthOfLastWord(const char *s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int count = 0, last = 0;
while (*s != '\0') {
count = *s == ' ' ? 0 : count + 1;
last = count > 0 ? count : last;
s++;
}
return last;
}
};