当前位置: 首页 > news >正文

Java | Leetcode Java题解之第151题反转字符串中的单词

题目:

题解:

class Solution {public String reverseWords(String s) {StringBuilder sb = trimSpaces(s);// 翻转字符串reverse(sb, 0, sb.length() - 1);// 翻转每个单词reverseEachWord(sb);return sb.toString();}public StringBuilder trimSpaces(String s) {int left = 0, right = s.length() - 1;// 去掉字符串开头的空白字符while (left <= right && s.charAt(left) == ' ') {++left;}// 去掉字符串末尾的空白字符while (left <= right && s.charAt(right) == ' ') {--right;}// 将字符串间多余的空白字符去除StringBuilder sb = new StringBuilder();while (left <= right) {char c = s.charAt(left);if (c != ' ') {sb.append(c);} else if (sb.charAt(sb.length() - 1) != ' ') {sb.append(c);}++left;}return sb;}public void reverse(StringBuilder sb, int left, int right) {while (left < right) {char tmp = sb.charAt(left);sb.setCharAt(left++, sb.charAt(right));sb.setCharAt(right--, tmp);}}public void reverseEachWord(StringBuilder sb) {int n = sb.length();int start = 0, end = 0;while (start < n) {// 循环至单词的末尾while (end < n && sb.charAt(end) != ' ') {++end;}// 翻转单词reverse(sb, start, end - 1);// 更新start,去找下一个单词start = end + 1;++end;}}
}
http://www.lryc.cn/news/373851.html

相关文章:

  • web前端教程全套:从入门到精通的全方位探索
  • 什么是端口转发?路由器如何正确的设置端口转发和范围转发?(外网访问必备设置)
  • 【AI基础】第六步:纯天然保姆喂饭级-安装并运行qwen2-7b
  • 基于粒子群优化算法的的微电网多目标优化调度----算法改进
  • 计算机网络 —— 网络层 (路由协议)
  • HCIA 15 AC+FIT AP结构WLAN基础网络
  • 给Windows软件添加异常捕获模块生成dump文件(附源码)
  • C语言| 数组
  • upload-labs第八关教程
  • 平板消解加热台-温度均匀,防腐蚀-实验室化学分析
  • Ubuntu基础-vim编辑器
  • Java 网站开发入门指南:如何用java写一个网站
  • Armbian OS(基于ubuntu24) 源码编译mysql 5.7
  • React+TS前台项目实战(六)-- 全局常用组件Button封装
  • Vite支持的React项目使用SASS指南
  • 实验12 路由重分布
  • version-manager最好用的SDK版本管理器,v0.6.2发布
  • MFC工控项目实例之三theApp变量传递对话框参数
  • C# OpenCvSharp 图像处理函数-图像拼接-hconcat、vconcat、Stitcher
  • 软件方案评审与模块优化:从FOC模块出发的电控平台建设
  • emoji_call_read
  • 一键自动粘贴,高效处理邮箱地址,让你的工作效率翻倍提升!
  • 【Java】Java 使用 Graphics2D 在图片上添加文字,并解决图片变红问题
  • 初识docker插件
  • springboot整合redis以及使用
  • ARM32开发--电源管理单元
  • Android Studio项目升级报错:Namespace not specified
  • 渗透测试nginx增加400,500报错页面
  • OpenCV读取和显示和保存图像
  • 【面经总结】Java集合 - Map