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

[Java][Leetcode middle] 151. 反转字符串中的单词

思路挺简单的

自己想的,步骤挺复杂的

  • 先统计处开头和结尾的空格数
  • 跳过开头这些空格,将单词放到数组中
  • 统计最后一个可能漏过的单词(例如:“hello word”,没有空格退出)
  • 倒序输出
public String reverseWords(String s) {int n = s.length();int startCnt = 0;int endCnt = n-1;while(startCnt < n){if(s.charAt(startCnt) == ' '){startCnt++;} else {break;}}while(endCnt >= 0){if( s.charAt(endCnt) == ' '){endCnt--;} else{break;}}String[] words = new String[n];int cnt = -1;int inWord=0;int startIndex = 0;for(int i = startCnt; i <= endCnt ; i++){if(s.charAt(i) == ' '){if(inWord == 1){words[++cnt] = s.substring(startIndex, i);}inWord = 0;}else{if(inWord == 0){startIndex = i;}inWord = 1;}}// 处理最后一个未处理的单词if(inWord == 1){words[++cnt] = s.substring(startIndex, endCnt+1);}StringBuilder sb = new StringBuilder();for(int i = cnt ; i>=0 ; i--){sb.append(words[i]);if(i != 0){sb.append(" ");}}return sb.toString();}

用API

public String reverseWords2(String s) {s = s.trim();String[] split = s.split("\\s+");List<String> wList = Arrays.asList(split);Collections.reverse(wList);return String.join(" ", wList);}
http://www.xdnf.cn/news/7223.html

相关文章:

  • Dify-3:系统架构
  • 国产 iPaaS 与国外 iPaaS 产品相比如何?以谷云科技为例
  • HTML向四周扩散背景
  • Linux-进程间通信
  • Redis有哪些常用应用场景?
  • Kubernetes MCP服务器(K8s MCP):如何使用?
  • upload-labs通关笔记-第12关 文件上传之白名单GET法
  • 【Unity 2023 新版InputSystem系统】新版InputSystem 如何进行人物移动(包括配置、代码详细实现过程)
  • 【软考-架构】15、软件架构的演化和维护
  • 第2篇 水滴穿透:IGBT模块的绝对防御体系
  • NIFI 2.40简介及部署
  • python实现pdf转图片(针对每一页)
  • 手机内存不够,哪些文件可以删?
  • 电气材料的分类及应用
  • MySQL 8.0 OCP 英文题库解析(五)
  • python文件部署docker,容器路径与系统路径映射
  • ionic 列表操作详解
  • 基于vue框架的东莞市二手相机交易管理系统5yz0u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 解决Windows磁盘管理中因夹卷导致的无法分区问题
  • 146. LRU 缓存
  • 自己拥有一台服务器可以做哪些事情
  • 科技行业智能化升级经典案例—某芯片公司
  • Perl测试管理:从混乱到高效的系统化实践
  • 《DiffPoint训练过程详解:从图像到点云的逐步优化》
  • B树与B+树全面解析
  • Vue3.5 企业级管理系统实战(十九):菜单管理
  • 开发 前端搭建npm v11.4.0 is known not to run on Node.js v14.18.1.
  • Ansible模块——主机名设置和用户/用户组管理
  • 02-前端Web开发(JS+Vue+Ajax)
  • 用Python实现数据库数据自动化导出PDF报告:从MySQL到个性化文档的全流程实践