关闭

leetcode系列(10)Length of Last Word

标签: pythonc++leetcode
276人阅读 评论(0) 收藏 举报
分类:

length of last word

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

For example, 
Given s = "Hello World",
return 5.

求一个句子最后一个单词的长度,其实就是从最后一个字母开始数直到遇到第一个空字符或者到整个句子的第一个字母,但是需要注意的是空字符的处理,比如最后一个单词的后面可能的多个空格,整个句子都是空格,或者句子是一个空字符串,其实就是Python的strip然后split,这里首先给出python代码的,因为只有一行,而且也很好的说明了解法:

return len((s.strip().split(' '))[-1])
C++代码如下:

class Solution {
public:
    int lengthOfLastWord(string s) {
        int cnt = 0;
        int len = s.size();
        bool tail_space = true;
        for (int i = len - 1; i >= 0; --i) {
            if (s[i] == ' ') {
                if (tail_space) {
                    continue;
                } else {
                    break;
                }
            } else {
                tail_space = false;
                cnt++;
            }
        }
        return cnt;
    }
};



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:49136次
    • 积分:1505
    • 等级:
    • 排名:千里之外
    • 原创:105篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论