LeetCode--Python解析【Length of Last Word】(58)

本文介绍了一种使用Python计算给定字符串中最后一个非空单词长度的方法。通过将字符串按空格切分并转换为列表,然后从列表末尾开始遍历,找到第一个非空元素并返回其长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

方法:

class Solution:
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        temp = s.split(" ")

        while temp:
            x = temp.pop(-1)
            if x:
                return len(x)
            
        return 0

现将s以空格切分,转换为list

再取最后一个非空元素,求长度

如果列表为空,则返回0

### LeetCode58Python 实现 LeetCode58题名为 **"Length of Last Word"**,其目标是从给定的字符串 `s` 中找到最后一个单词的长度。假设字符串中的单词由空格分隔开。 以下是该问题的一个高效且简洁的 Python 实现: ```python class Solution: def lengthOfLastWord(self, s: str) -> int: # 去除字符串两端的空白字符 trimmed_s = s.strip() # 将字符串按空格分割成列表 words = trimmed_s.split(' ') # 返回最后一个单词的长度 return len(words[-1]) ``` 此方法通过以下步骤完成任务: 1. 使用 `strip()` 方法去除字符串首尾可能存在的多余空格[^1]。 2. 利用 `split(' ')` 函数将字符串按照空格拆分成多个部分并存储在一个列表中[^2]。 3. 访问列表中的最后一个元素(即最后一个单词),并通过 `len()` 获取其长度[^3]。 #### 复杂度分析 - 时间复杂度:O(n),其中 n 是字符串的长度。这是因为我们需要遍历整个字符串来进行修剪和分割操作。 - 空间复杂度:O(k),k 表示分割后的单词数量。这是由于我们创建了一个新的列表来保存这些单词。 --- ### 示例测试 下面是一些测试案例及其预期输出结果: ```python solution = Solution() # 测试用例 1 print(solution.lengthOfLastWord("Hello World")) # 输出: 5 # 测试用例 2 print(solution.lengthOfLastWord(" fly me to the moon ")) # 输出: 4 # 测试用例 3 print(solution.lengthOfLastWord("luffy is still joyboy")) # 输出: 6 ``` 以上代码能够正确处理各种边界情况,例如存在多余的空格或者只有一个单词的情况。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值