java简单算法:最后一个单词的长度

问题

  • 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
    单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

解决

// 将字符串划分为组成单词的小字符串
// 遇到空格就分
//返回最后一个单词长度

//反向遍历:利用倒序的方式进行查询
class Solution {
    public int lengthOfLastWord(String s) {
        int en=s.length()-1;
        while(s.charAt(en)==' '){           //将符串移到最后一个单词的最后一个字母位置,注意,这里只能用'',不能用"",因为前者是字符,后者是字符串
            en--; 
        }
        int co=0;
        while(en>=0&&s.charAt(en)!=' '){   //从最后一个字母开始计数,获得最后一个单词长度
            co++;
            en--;
        }
        return co;        
    }
}

//第二种(利用api),其实想法差不多
class Solution {
    public int lengthOfLastWord(String s) {
        s = s.trim();                   //只去除"头尾"空白
        return s.length() - s.lastIndexOf(" ") - 1;  // lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
    }
}

总结

posted @   new_monkey  阅读(350)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示