算法题:反转字符串中的单词 📅 发布时间:2026/7/9 7:28:44 👁️ 浏览次数: 题目描述思路分析我们可以通过双指针法来解决这个问题具体思路如下去除首尾空格字符串的首尾可能会有不必要的空格我们首先通过trim()方法去掉字符串两端的空格避免影响后续操作。倒序遍历字符串我们从字符串的右端开始倒序遍历使用两个指针i和j来记录当前单词的边界。i用来遍历字符串的每个字符。j用来标记当前单词的右边界当遇到空格时j位置就是一个单词的结束位置。找到单词每当遇到空格时说明一个单词已经结束。我们可以通过substring(i 1, j 1)来提取出当前的单词并将其添加到结果字符串中。在处理每个单词时我们还需要跳过所有的空格直到找到下一个单词。拼接单词反转过程中将单词添加到结果StringBuilder中单词之间使用一个空格隔开。最后我们返回拼接好的字符串。去除尾部多余的空格最后我们使用trim()方法去除返回结果中的尾部空格确保结果是规范的。代码class Solution { public String reverseWords(String s) { s s.trim(); // 去除首尾空格 int i s.length() - 1; // i 指向字符串的最后一个字符 int j i; // j 用于记录当前单词的右边界 StringBuilder a new StringBuilder(); // 使用 StringBuilder 存储结果 // 倒序遍历字符串 while (i 0) { if (i 0) { // 处理最后一个单词只有一个字符时直接加入到结果中 a.append(s.substring(i, j 1)); } if (s.charAt(i) ! ) { // 如果当前位置不是空格继续向左走寻找当前单词的左边界 i--; } else { // 如果遇到空格说明一个单词结束了 a.append(s.substring(i 1, j 1)); // 将当前单词加入结果 a.append( ); // 添加空格分隔单词 // 跳过所有空格 while (s.charAt(i) ) { i--; } // 更新 j 为新的单词的右边界 j i; } } return a.toString().trim(); // 返回结果字符串去除尾部空格 } }注意需要注意的是当i0时此时s.charAt(i)是不为空的所以循环中i会--导致退出循环这样会丢失s中的第一个单词所以在循环开始前需要处理i0的情况。if (i 0) { // 处理最后一个单词只有一个字符时直接加入到结果中 a.append(s.substring(i, j 1)); }
【GitHub项目推荐--Symphony:OpenAI的自主编码代理管理平台】⭐⭐⭐ 简介 Symphony 是OpenAI推出的一个创新性工程管理平台,它将项目工作转化为隔离的、自主的实现运行,允许开发团队管理工作而不是监督编码代理。传统AI编码工具需要工程师密切监督每个编码步骤,而Symphony通过将工作项转化为完整的、隔离的实… 2026/7/6 22:54:39
TRO侵权预警|月销数万宠物用品发起维权,尽快自查! 高危预警!宠物用品类目新案 TRO 已立案,全平台卖家面临批量冻结风险! 本案原告凭借2 项宠物户外用品外观设计专利,针对爆款组合式宠物帐篷 / 隧道产品发起维权。案号为:26-cv-02454。代理律所为 TRO 案件经验丰富的 A… 2026/7/3 10:41:22
前端实习生必看:27周实战经验全记录(含避坑指南) 前端实习生实战手记:从零到一的27周蜕变之旅 作为一名刚刚踏入职场的前端实习生,最初的几周总是充满了既兴奋又忐忑的心情。面对全新的开发环境、陌生的技术栈以及快节奏的项目迭代,如何快速站稳脚跟,将学校里的理论知识转化为解决… 2026/7/7 2:21:05
C盘又爆红了?将Windows桌面路径迁移到其他盘,瞬间清爽! 不知道大家有没有和我一样的习惯:不管是临时文件、项目素材,还是刚下载的图片,总喜欢先往桌面上一扔。毕竟“桌面”嘛,用起来最顺手,找起来也最方便。 久而久之,桌面上的文件堆积如山。直到有一天ÿ… 2026/7/9 7:27:51
2026年最新盘点8个一键生成论文工具,半天搞定万字论文! 在2026年这个节点,教育部严抓学术规范,自动降AIGC率,知网查重率成了每位硕博生、高校教师的卡点。 其实,AI论文写作早就不再是简单的文字堆砌,它已进化到能帮你深度分析数据、对标学术范式的地步。如果你还在为AI写毕业… 2026/7/9 7:27:51
Havenlon|历史中的执行控制(二):切尔诺贝利—当多个边界被连续绕过 这是"历史中的执行控制"系列的第二篇。第一篇我们写过 Havenlon|历史中的执行控制(一):诺曼底登陆 D-Day 的天气窗口。 如果说 D-Day 讲的是"没有正确的执行窗口,就不执行",那么切尔诺… 2026/7/9 7:27:51
国内开发者实战指南:从零部署OpenAI Codex AI编程助手 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在尝试将 AI 编程助手集成到开发工作流中时,发现很多开发者对 OpenAI 的 Codex 很感兴趣,但苦于网络环境或… 2026/7/9 7:23:50
跨境小众国风设计师品牌营收程序,海外独立工作室低成本运营收支测算。 用 Python 完成一个跨境小众国风设计师品牌营收与海外独立工作室低成本运营收支测算程序。内容偏工程化、可落地、可扩展,并严格控制去营销化、中立化表达,不涉及任何平台引流、课程推广。跨境小众国风设计师品牌营收与海外工作室收支测算系统一、实际应… 2026/7/9 7:19:50
操作系统内存管理 —— 虚拟内存 本篇面向已经了解以下概念的读者: 物理内存的分页管理(什么是页框、页表、多级页表)MMU 和 TLB 的基本工作原理进程地址空间的布局(代码段、数据段、堆、栈) 如果你对这些还不太熟悉,建议先翻阅《深入理解… 2026/7/9 7:17:49
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08