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。
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了