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

代码随想录算法训练营第九天| 151.翻转字符串里的单词、55.右旋转字符串 、字符串总结

151.翻转字符串里的单词

初始思路:先遍历一遍,统计字符串中单词加上空格的长度。然后设立一个指针,指向旧字符串的最后一个,倒着把旧字符串复制到新字符串中(复制的时候遇到空格只复制一个,同时去掉前后的空格),然后用双指针法把新字符串中的单词正过来(一个指针指向单词的第一个,另一个一直遍历到下一个位置是空格或者是字符串的最后一个位置)。

class Solution {public String reverseWords(String s) {StringBuilder sb =  removeSpace(s);reverseString(sb, 0,sb.length()-1);reverseEachWords(sb);return sb.toString();}StringBuilder removeSpace(String s){//先去除首尾空格int left = 0;int right = s.length() - 1;while(s.charAt(left) == ' ') left++;while(s.charAt(right) == ' ') right--;StringBuilder sb = new StringBuilder();//存放最后处理好的字符串//去除中间空格while(left <= right){//从头到尾遍历,要包括等于,因为最后一个单词也要转移char c = s.charAt(left);if(c != ' ' || sb.charAt(sb.length() - 1) != ' '){//若当前不是空格 或 当前是空格但是新字符串的前一个不是空格sb.append(c);}left++;}return sb;}void reverseString(StringBuilder sb, int left, int right){while(left < right){char temp = sb.charAt(left);sb.setCharAt(left, sb.charAt(right));sb.setCharAt(right, temp);left++;right--;}}void reverseEachWords(StringBuilder sb){int left = 0;int right = 1;int length = sb.length();while(right<length){while(right < length && sb.charAt(right) != ' '){right++;}reverseString(sb,left,right-1);left = right+1;right = left +1;}}
}

55.右旋转字符串

思路:先把字符串整体逆置,再把前n个逆置,再把剩余的逆置。

 字符串总结

面试的时候可能分析时间复杂度,这时候需要属性常见库函数的时间复杂度;

写代码的时候,一些常见的方法和常用类要熟记。

鉴于作者水平有限,文章可能存在错误

如有指正,十分感谢

相关文章:

  • 深度学习学习率优化方法——pytorch中各类warm up策略
  • 【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
  • 服务器中CC攻击的特点有哪些?
  • 【Go语言基础【5】】运算符基础
  • 1、Go语言基础中的基础
  • llm-d:面向Kubernetes的高性能分布式LLM推理框架
  • 阿里云 Linux 搭建邮件系统全流程及常见问题解决
  • ES集群磁盘空间超水位线不可写的应急处理
  • 计算机网络备忘录
  • 游戏开发中的CI/CD优化案例:知名游戏公司Gearbox使用TeamCity简化CI/CD流程
  • Java线程安全集合类
  • 余氯传感器在智慧水务系统中如何实现IoT集成
  • Spring Boot + Elasticsearch + HBase 构建海量数据搜索系统
  • 工厂模式 + 模板方法模式 + 策略模式的适用场景
  • 数据可视化大屏案例落地实战指南:捷码平台7天交付方法论
  • 如何选择专业数据可视化开发工具?为您拆解捷码全功能和落地指南!
  • Unity VR/MR开发-VR开发与传统3D开发的差异
  • Next.js 中间件鉴权绕过漏洞 CVE-2025-29927
  • 【前端】掌握HTML/CSS宽高调整:抓住问题根源,掌握黄金法则
  • Python 网络编程 -- WebSocket编程
  • 怀化建网站/首页优化排名
  • 做网站维护有什么要求/专业网站优化外包
  • 网站建设项目分期/seo外包 靠谱
  • 网站建设和网络推广是干嘛/seo研究中心vip课程
  • 江西网站建设找哪家/百度网址安全中心怎么关闭
  • 水果商城网站模板/百度app免费下载安装