给定一个仅包含大小写字母和空格 ' '
的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World" 输出: 5
这个题非常简单,简单说下思路。我们先用string的length()方法得到字符串长度l。此时我们会很直接的想到将字符从后往前遍历,遇到‘ ’就return来得到最后单词的长度。但是我们应该注意到题目中没有说明空格一定不会在最后一个单词后面。所以我们设置判断条件为n!=0且s[i-1]==‘ ’时再返回,这样一来我们如果输入“hello world ”的话就不会返回0而是返回5了。
代码如下:
class Solution {
public:
int lengthOfLastWord(string s) {
int l=s.length();
int i;
int n=0;
for(i=l-1;i>=0;i--){
if(s[i]!=' ')
{n++;}
if(n!=0&&s[i-1]==' ')
break;
}
return n;
}
};