58. 最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。

返回字符串中最后一个单词的长度。

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

提示:

  • 1 <= s.length <= 104
  • s 仅有英文字母和空格 ' ' 组成
  • s 中至少存在一个单词

反向遍历

思路

因为要得到最后一个单词的长度,所以可以直接从最后开始查找已知的字符串得到第一个单词的长度直接返回即可。

  • flag 用于标记当前是否已经找到末尾单词
  • count 用于记录当前单词的长度
class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        n = len(s)
        flag = 0
        count = 0
        for i in range(n-1,-1,-1):
            if flag == 0:
                if s[i].isalpha():
                    count += 1
                    flag = 1
                else:
                    continue
            else:
                if s[i].isalpha():
                    count += 1
                else:
                    break
        return count

python一行代码

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        return len(s.split()[-1])
posted on 2021-09-21 17:09  墩墩儿er  阅读(44)  评论(0)    收藏  举报