LeetCode58. Length of Last Word

58.Length of Last Word
题意: 给一个字符串,这个字符串包括大小写字母和空格,返回这个字符串的最后一个单词的长度。如果最后一个单词不存在,则返回0.
一个单词是指没有空格的字母串。
For example,
Given s = “Hello World”,
return 5.
我的思路:
这个题很简单,如果输入字符串为空,则返回0;
如果不为空,从最后一位向前数,一直到空格为止的长度就是字符串中最后一个单词的长度;但是这里要考虑一种情况就是字符串末尾是空格,这样要往前推,找到单词的位置。

public int lengthOfLastWord(String s) {
    int count = 0;
    if(s.length() == 0){
        return 0;
    }
    else{
        for(int i = s.length() - 1; i >= 0; i--){
            if(s.charAt(i) != ' '){
                count++;
            }
            else{
                if(count > 0){
                    break;
                }                   
            }
        }
        return count;
    }
}

第二种方法: 用到了Java中String类的方法
s.trim();去掉字符串首位的空格;
s.trim().lastIndexOf(” “);返回字符串中最后一个空格的索引,若果没有,则返回-1;

public int lengthOfLastWord2(String s) {
    s = s.trim();
    int lastIndex = s.lastIndexOf(' ') + 1;
    return s.length() - lastIndex;        
}

第三种写法: 第二种写法的简洁版,看着好牛。

public int lengthOfLastWord1(String s) {
    return s.trim().length()-s.trim().lastIndexOf(" ")-1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值