【LeetCode 简单题】12-最后一个单词的长度

声明:

今天是第12道题。给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除

(手动比心ღ( ´・ᴗ・` ))

正文

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

示例:

输入: "Hello World"
输出: 5

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

解法1。主要是利用Python字符串逆序输出,从最后1个字符开始以1为步长进行遍历,字符不为空就开始记录,直到遇到空字符就返回记录的字符串长度

class Solution:
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        last_string = ''
        len_lst_str = 0
        # 从尾部开始遍历s,如果字符不为空,就把这个字符放在last_string里,
        # 直到遇到空字符以且记录的last_string不为空就结束,返回记录好的最后1个字符串长度
        for i in s[::-1]:
            if last_string != '' and i == ' ': # 此处‘==’一定不能写成‘=’
                return count
            if i != ' ':
                last_string += i
                len_lst_str += 1
        return len_lst_str

解法2。 比第一种解法更高效些,直接调用了Python的split函数将字符串切分(题干里说了,输入字符串只包含大小写字母和空格,默认空格就是分隔符),切分好后返回最后1个字符串的长度。

class Solution:
    def lengthOfLastWord(self, s):
        list_s = s.split()        # 按空字符切分s
        last_word = list_s[-1]    # 将切分好的最后1个字符赋给last_word
        return len(last_word)     # 返回最后1个字符串的长度

结尾

解法1:https://blog.csdn.net/qq_34364995/article/details/80284286

解法2:https://www.jianshu.com/p/f0dbe3d17f66

猜你喜欢

转载自blog.csdn.net/weixin_41011942/article/details/82655622
今日推荐