422 最后一个单词的长度

原题网址: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;
    
    }
};

猜你喜欢

转载自www.cnblogs.com/Tang-tangt/p/9224028.html
今日推荐