leetcode--58--最后一个单词的长度

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

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

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

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

示例:

输入: "Hello World"
输出: 5

链接:https://leetcode-cn.com/problems/length-of-last-word

1、字符串从右往左遍历,直到当前位置的元素为空

Python代码:

class Solution(object):
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        if not s:
            return 0
        s = s.encode('utf-8').strip()

        size = len(s)
        i=0
        while (size-1-i >=0 and s[size-1-i] != ' '):
            i += 1
    
        return i

C++代码:

class Solution {
public:
    int lengthOfLastWord(string s) {
        if (s.size()==0){
            return 0;
        }
        size_t n = s.find_last_not_of( " \r\n\t" );
        if (n != string::npos){
            s.erase( n + 1 , s.size() - n );
        }
        int size = s.size();
        int i=0;
        while(size-1-i>=0 && s[size-1-i]!=' '){
            i += 1;
        }
        return i;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容