力扣(LeetCode)最后一个单词的长度 个人题解

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

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

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

示例:

输入: "Hello World"
输出: 5



简单使用正则表达式匹配多个空格的情况,剔除全部是空格的字符串,然后使用split函数将单词分开,解决问题。

split函数比较简单,在其他语言中也可以手动使用。所以这里不再多此一举了。

代码如下:

class Solution {
    public int lengthOfLastWord(String s) {
        if(s.matches("\s+"))
            return 0;
        String[] ss = s.split(" ");
        return ss[ss.length-1].length();
    }
}

如果在充分理解题意的情况下,可以使用倒序判断,速度更加快捷。

代码如下:

class Solution {
    public int lengthOfLastWord(String s) {
        if(s.length()==0)
            return 0;
        else
        {
            int index=s.length()-1;
            int count=0;
            while(index>=0 && s.charAt(index)==' ')
                index--;
            while(index>=0 && s.charAt(index)!=' ')
            {
                count++;
                index--;
            }
            return count;
        }
    }
}
原文地址:https://www.cnblogs.com/axiangcoding/p/10388682.html