题目链接
Length of Last Word - LeetCode
注意点
- "a "这样的串应该return 1而不是0
- 有空串或者串中只有0的情况
解法
解法一:从尾巴开始,遇到非空格就字符+1,如果是空格,为了排除以空格结尾的串的影响,只有已经有字符出现了才返回当前统计的字符数。时间复杂度为O(n)
class Solution {
public:
int lengthOfLastWord(string s) {
int i,n = s.size(),ret = 0;
for(i = n-1;i >= 0;i--)
{
if(s[i] == ' ')
{
if(ret > 0)
return ret;
}
else ret++;
}
return ret;
}
};
注:这个的时间不太准确,应该是系统的问题,在中文版LeetCode上提交时间只需要4ms。
小结
- 一道简单题,才用其他的一些封装好的函数代码可能更简洁,例如
stringstream()
函数