新闻详情

新闻详情

首页 / 资讯中心 / 详情

DeepSeek LeetCode 151. 反转字符串中的单词 Java实现

发布时间:2026/9/25 20:24:03来源:尧图网络
DeepSeek    LeetCode 151. 反转字符串中的单词 Java实现
思路题目要求反转字符串中单词的顺序并处理多余空格前导、尾随、单词间多个空格。核心步骤去除首尾空格并将单词间的多个空格压缩为单个空格。反转单词顺序用单个空格连接。两种常用解法· split 倒序拼接利用 trim() 和 split(“\s”) 得到单词数组再从后往前拼接。· 双指针手动扫描从字符串末尾向前遍历跳过空格截取单词追加到结果中最后去掉末尾多余空格。代码方法一split 倒序拼接简洁classSolution{publicStringreverseWords(Strings){// 去除首尾空格并按一个或多个空白字符分割String[]wordss.trim().split(\\s);StringBuildersbnewStringBuilder();for(intiwords.length-1;i0;i--){sb.append(words[i]);if(i0){sb.append( );}}returnsb.toString();}}方法二双指针从后往前扫描不依赖 split更高效classSolution{publicStringreverseWords(Strings){StringBuildersbnewStringBuilder();intis.length()-1;while(i0){// 跳过空格while(i0s.charAt(i) ){i--;}if(i0)break;// 确定当前单词的右边界intrighti;// 向左找到单词的左边界while(i0s.charAt(i)! ){i--;}// 此时单词范围是 s[i1, right]sb.append(s.substring(i1,right1));sb.append( );}// 删除最后一个多余的空格if(sb.length()0){sb.deleteCharAt(sb.length()-1);}returnsb.toString();}}关键点trim() 必须调用否则 split(“\s”) 遇到前导空格会产生空字符串元素。使用 \s 而非 \s 匹配一个或多个空白字符能正确处理单词间的多个空格。倒序拼接时空格控制只在单词之间添加空格最后一个单词后不加。双指针法边界i 0 的判断要仔细截取单词时用 substring(i 1, right 1)。Java 字符串不可变两种方法都返回新字符串空间复杂度均为 O(n)。示例走一遍s hello world · 方法一· trim() → “hello world”· split(“\s”) → [“hello”, “world”]· 倒序拼接 → “world hello”· 方法二· 从后向前先跳过尾部空格找到 “world”追加 world · 继续跳过空格找到 “hello”追加 hello · 删除末尾空格 → “world hello”复杂度· 时间复杂度O(n)每个字符最多被访问一次。· 空间复杂度O(n)存储结果字符串方法一额外使用单词数组方法二只使用 StringBuilder。易错点· 忘记 trim()导致结果开头出现多余空格或空单词。· 使用 split( ) 处理多个连续空格时会产生空字符串元素。· 拼接时在最后一个单词后也加了空格导致结果尾部有空格。· 双指针法中i 的移动和单词边界的计算容易出错建议画图验证。· 题目保证至少有一个单词但若字符串全为空格trim() 后为空需额外处理LeetCode 151 不会出现全空格情况。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

RAG原理-RAG系统构建案例分析 2026/9/25 20:59:34

RAG原理-RAG系统构建案例分析

RAG原理-RAG系统构建案例分析RAG 系统构建案例分析本节通过一个“基于企业文档的 LLM 问答系统”,串联 RAG 从知识入库到生成答案的完整流程。核心不是让大模型记住文档,而是在回答前先找出相关资料,再让模型基于资料作答。一、整体架构 整个…

阅读更多 →
一只鸟笼里的建筑课——「大欧鸟笼的建筑智慧」走进青岛东川路小学 2026/9/25 20:59:27

一只鸟笼里的建筑课——「大欧鸟笼的建筑智慧」走进青岛东川路小学

一只竹编的鸟笼,和应县木塔、赵州桥、罗马万神殿之间,能有什么关系?9月17日,2026年科学家进校园科普讲座走进青岛东川路小学,由青岛恒星科技学院智慧建造学院科普专家邹奇志副教授主讲——他从家乡青岛即墨的省级非遗大…

阅读更多 →
网络基础(下) 2026/9/25 20:59:27

网络基础(下)

1.tcpdump简单使用这里为什么不使用wireshark而是使用tcpdump呢?这是因为wireshark是需要图形化界面的一般不在linux上使用,所以我们可以使用tcpdump进行抓包之后,发给wireshark上进行分析这里我们直接输入TCPdump就开始进行抓包了因为我们启…

阅读更多 →
PDF论文能免费查AI率吗?支持上传文件的检测工具推荐! 2026/9/25 20:59:20

PDF论文能免费查AI率吗?支持上传文件的检测工具推荐!

PDF论文能免费查AI率吗?支持上传文件的检测工具推荐! 论文只剩PDF,复制出来却换行乱、表格散,不知道能不能直接查AI率。可以先用支持PDF上传的PaperPass;需要查看具体段落时,再把文字整理为docx或粘贴到率…

阅读更多 →
EditPlus、Notepad++、UltraEdit 快捷键与配置技巧:TaoToken 统一 Key 接入 AI 工具实战 2026/9/25 20:59:20

EditPlus、Notepad++、UltraEdit 快捷键与配置技巧:TaoToken 统一 Key 接入 AI 工具实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
【大模型评测系列】GLM-5.1、GLM-5.2 与 DeepSeek-V4-Pro 同台实测:用 TaoToken 统一 Key 跑通 10 条真实任务 2026/9/25 20:59:14

【大模型评测系列】GLM-5.1、GLM-5.2 与 DeepSeek-V4-Pro 同台实测:用 TaoToken 统一 Key 跑通 10 条真实任务

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉