给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

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

示例

输入:s = "luffy is still joyboy   "

输出:6

解释:最后一个单词是长度为6的“joyboy”。

解析

1)只要最后一个单词,那就倒过来遍历

2)需要注意的是,句子两头都可能有空格

代码示例

1、系统函数实现

平常的开发中,这么干一点毛病没有,但。。。这是算法题,虽然分数高,但总觉得有一种浓浓的大蒜味。

def lengthOfLastWord(s: str) -> int:
    arr = s.strip().split(' ')
    return len(arr[-1])

2、遍历法

def lengthOfLastWord(s: str) -> int:
    result = 0
    for char in s[::-1]:
        if char != ' ':
            result += 1
        elif result > 0:
            return result 
    return result

s = " luffy is still joyboy  "
print(lengthOfLastWord(s))

执行用时:32 ms, 在所有 Python3 提交中击败了 88.50% 的用户.

本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/361