欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Leetcode:58. 最后一个单词的长度 python 2020.2.11

程序员文章站 2022-04-05 11:48:51
...

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

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

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

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

 

示例:

输入: "Hello World"
输出: 5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

'''
安安思路:正则表达式
'''
class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        pattern = re.compile(r'\w+')   # 查找字母
        result = pattern.findall(s)
        #print(result)

        return len(result[-1]) if len(result)>0 else 0

 

 

Leetcode:58. 最后一个单词的长度 python 2020.2.11

#自己写的python

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        s = s.rstrip(" ")
        #print(s, len(s))
        
        for i in range(len(s)-1,-1,-1):
            #print(i, s[i])
            if(s[i] == " "):
                return len(s)-i-1

        return len(s)

 

 

 

别人家的java

class Solution {
    public int lengthOfLastWord(String s) {
        int end = s.length() - 1;
        while(end >= 0 && s.charAt(end) == ' ') end--;
        if(end < 0) return 0;
        int start = end;
        while(start >= 0 && s.charAt(start) != ' ') start--;
        return end - start;
    }
}

Leetcode:58. 最后一个单词的长度 python 2020.2.11

 

用时0s,这个有点强

 

 

#别人家的 用split分割

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        strs = s.split()
        return len(strs[-1]) if strs else  0