力扣(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; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· 使用TypeScript开发微信小程序(云开发)-入门篇
· 没几个人需要了解的JDK知识,我却花了3天时间研究
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 管理100个小程序-很难吗
· 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持