leetcode 58. 最后一个单词的长度

【前言】

           python刷leetcode题解答目录索引:https://blog.csdn.net/weixin_40449300/article/details/89470836

           github链接:https://github.com/Teingi/test 

【正文】

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

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

示例:

输入: "Hello World"
输出: 5

python代码:

class Solution(object):
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        if len(s) == 0:
            return 0
        s_new = s.split(' ')
        res = []
        for i in range(len(s_new)):
            if s_new[i]!= '':
                res.append(s_new[i])
        if len(res) == 0:
            return 0
        else:
            return len(res[-1])

java代码:

一行代码搞定!!!!!!!!!!!!

class Solution {
    public int lengthOfLastWord(String s) {
        return s.trim().length()-s.trim().lastIndexOf(" ")-1;
    }    
        
}

知识点:

trim()的作用是去掉字符串两端的多余的空格,注意,是两端的空格,且无论两端的空格有多少个都会去掉,当然

中间的那些空格不会被去掉,如:

String s = "  a s f g      ";

String s1 = s.trim();

那么s1就是"a s f g",可见,这和上面所说的是一样的。

trim()不仅可以去掉空格,还能去掉其他一些多余的符号,这些符号分别是:

\t  \n  \v  \f  \r  \x0085  \x00a0  ?  \u2028  \u2029

翻译过来分别是:水平制表符,换行符,垂直制表符,换页符,回车,后面的这几个除了问号外,其他的都是转义符形式写法。

扩展资料:

trim()函数移除字符串两侧的空白字符或其他预定义字符。

功能除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,Trim() 函数返回NULL。

 

 

你可能感兴趣的:(Leetcode,Java,Test)