凌云的博客

行胜于言

LeetCode 算法题 58. 最后一个单词的长度

分类:algorithm| 发布时间:2017-02-24 08:08:00


题目

给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。

如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。

示例:

输入: "Hello World"
输出: 5

解法

class Solution {
public:
    int lengthOfLastWord(string s) {
        size_t end = s.find_last_not_of(' ');
        if (end == string::npos) {
            return 0;
        }

        size_t beg = s.find_last_of(' ', end);
        if (beg == string::npos) {
            return end + 1;

        }

        return end - beg;
    }

};