LeetCode058 Length of Last Word

本文介绍了一种计算给定字符串中最后一个单词长度的方法。利用Python内置函数如strip(), rstrip() 和 index()等,实现去除字符串两端空白字符,并确定最后一个单词的长度。适用于只包含字母和空格的字符串。

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

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

Example:

Input: "Hello World"
Output: 5

 

1.strip():把头和尾的空格去掉

2.lstrip():把左边的空格去掉

3.rstrip():把右边的空格去掉

4.replace('c1','c2'):把字符串里的c1替换成c2。故可以用replace(' ','')来去掉字符串里的所有空格

5.split():通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个子字符串

6.rindex():从后往前搜索

思路:把字符串去除最后的空格,再倒置。寻找空格的位置,返回。如果没有空格(一个单词),直接返回长度。

class Solution(object):
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        s = s.rstrip()[::-1]
        if ' ' in s:
            loc = s.index(' ')
            return loc
        return len(s)

 

 

 

### LeetCode Problem 58: Length of Last Word The goal is to find the length of the last word in a string. A word is defined as a maximal substring consisting of non-space characters only. #### Java Implementation Below is an efficient implementation using built-in methods: ```java class Solution { public int lengthOfLastWord(String s) { if (s == null || s.isEmpty()) return 0; String trimmedString = s.trim(); // Remove leading and trailing spaces[^3] if (trimmedString.isEmpty()) return 0; // Split by space, then get the last element's length. String[] words = trimmedString.split(" "); return words[words.length - 1].length(); } } ``` This code first checks if the input string `s` is either null or empty. If so, it returns zero immediately. Next, any leading and trailing whitespace from the string gets removed with `trim()`. Should this result be empty after trimming, again, zero is returned because no valid words exist. Finally, splitting the cleaned-up string into substrings based on spaces allows accessing the final array component which represents the last word whose length can thus be determined easily. For performance optimization considerations when dealing specifically with large strings where memory usage might become critical due to creating intermediate arrays during split operations, another approach directly iterates backward through the given string until encountering its initial non-whitespace character marking end-of-last-word boundary while counting letters encountered along the way without needing additional storage beyond single integer counter variable holding current count value.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值