problem
只有一个字符的情况;
最后一个word至字符串末尾之间有多个空格的情况;
code1
class Solution {
public:
int lengthOfLastWord(string s) {
if(s.size()==) return ;
int len = ;
int right = s.size()-;
while(right>= && s[right]==' ') right--;//
for(int i=right; i>=; i--)
{
if(s[i]==' ') break;
len++;
}
return len;
}
};
code2
class Solution {
public:
int lengthOfLastWord(string s) {
if(s.size()==) return ;
int len = ;
int right = s.size()-;
while(right>= && s[right]==' ') right--;//
while(right>= && s[right]!=' ')
{
right--;
len++;
}
return len;
}
};
发现while循环好像比for循环要快。。。
题目求解的是最后一个word的长度,所以还要考虑最后一个word之后还有空格的情况。
参考
1.leetcode;
完