原题网址:https://www.lintcode.com/problem/length-of-last-word/description
描述
给定一个字符串, 包含大小写字母、空格' '
,请返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0
。
一个单词的界定是,由字母组成,但不包含任何的空格。
您在真实的面试中是否遇到过这个题?
样例
给定 s = "Hello World"
,返回 5
。
标签
字符串处理
思路:因为是求最后一个单词的长度,所以从尾部开始遍历,遇到空格跳过,直到遇到第一个有效字符,开始统计个数。统计过程中如果碰到空格,结束遍历,返回长度值。如果一直遇不到有效字符,返回0。
AC代码:
class Solution {
public:
/**
* @param s: A string
* @return: the length of last word
*/
int lengthOfLastWord(string &s) {
// write your code here
int n=s.size();
if (n==0)
{
return 0;
}
int count=0;
int i=n-1;
while(i>=0&&s[i]==' ')//跳过尾部的空格;
{
i--;
}
for (;i>=0;i--)
{
if (s[i]!=' ')
{
count++;
}
else
{
break;
}
}
return count;
}
};