题目:
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) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int len = 0;
while(s[len] != '\0')
{
len++;
}
int i = len - 1;
int j = len - 1;
for(; i >= 0; i--)
{
if(s[i] != ' ')
{
j = i;
break;
}
}
if(i == -1)
{
return 0;
}
for(; i >= 0; i--)
{
if(s[i] == ' ')
{
break;
}
}
if(i == -1)
{
return j + 1;
}
else
{
return j - i;
}
}
};