2018-06-19 LeetCode58

2018-06-19  本文已影响0人  Betrayer丶

沉寂了许久,才明白了一个道理:永远不要意气用事,永远不要一意孤行。

题目描述

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:

输入: "Hello World"
输出: 5

我的解法

首先将字符串反序,然后遍历,在第一个空格处停止。注意原字符串末尾为0的特殊情况。

class Solution:
    def lengthOfLastWord(self, s):
        sums=0
        s=s[::-1]
        for i in s:
            if i != ' ':
                sums=sums+1
            elif sums != 0:
                break
        return sums

最优解法

调用字符串内置函数,使用s.strip移除字符串首尾的0,使用s.rfind找到‘ ’最后一次出现的位置,即可计算。

class Solution:
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        s = s.strip(' ')
        # return len(s.split(' ')[-1])
        return len(s) - 1 - s.rfind(' ')
上一篇 下一篇

猜你喜欢

热点阅读