news 2026/6/10 12:35:26

【力扣】917. 仅仅反转字母

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【力扣】917. 仅仅反转字母

解题思路

算法:双指针–左右指针
场景分类:对称操作类问题
思路:
左指针left指向字符串开头,右指针right指向字符串末尾

通过内层while循环,使得左指针left和右指针right指向的字符都是英文字母。随后交换两指针指向字符的位置

交换操作结束后,要让左右指针各移动一步,进而找下一组字母

最后,返回处理后的字符串


思考

1. 本题中双指针的作用?
本题要求将字符串中出现字母的位置反转

那么双指针的作用就是找到一组位置正好相反的字母

2. 为什么在交换操作完成后左右指针要各移动一步?
在交换操作完成后,左右指针指向的字符均是字母

下一步我们应该找到下一组位置相反的字母。但是现在左右指针已经指向了字母,如果不各移动一步,那么内层的两个while循环将永远不会工作。此时左右指针会一直停留在第一组字母的位置,一直进行交换操作。

这样就会导致左右指针无法找到下一组字母,反而陷入到了死循环,导致程序超时。

(当然,因为做该题时,距离上一次刷题过了好久时间,所以也有这个原因导致没有想到该问题)


代码

classSolution{public:boolisEnglish(charch){// 判断字符是否为英文字母if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))returntrue;returnfalse;}stringreverseOnlyLetters(string s){intleft=0,right=s.length()-1;// 左右指针while(left<right){// 让左右指针指向英文字母while(left<right&&!isEnglish(s[left]))left++;while(left<right&&!isEnglish(s[right]))right--;// 左右指针指向英文字母后,交换两字符swap(s[left],s[right]);// (第一次没想到,导致超时)// 左右指针各移动一步,找下一个英文字母left++;right--;}returns;}};

收获

  1. 体会该题双指针的作用
  2. 在特定情况下,要有左右指针各移动一步的操作
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 5:11:08

量子模拟器与VSCode集成全解析(专家级调试实战手册)

第一章&#xff1a;量子模拟器扩展的 VSCode 调试在开发量子算法时&#xff0c;调试是确保逻辑正确性的关键环节。Visual Studio Code&#xff08;VSCode&#xff09;通过官方提供的量子开发工具包扩展&#xff08;Quantum Development Kit, QDK&#xff09;&#xff0c;支持对…

作者头像 李华
网站建设 2026/6/5 7:05:16

VSCode量子模拟器扩展全面升级(开发者必知的7个隐藏功能)

第一章&#xff1a;VSCode量子模拟器扩展的重大更新概览近期&#xff0c;VSCode量子模拟器扩展迎来一次里程碑式更新&#xff0c;显著提升了开发人员在本地构建和调试量子算法的效率。此次更新不仅优化了核心性能&#xff0c;还引入多项开发者期待已久的功能&#xff0c;使量子…

作者头像 李华
网站建设 2026/6/10 3:48:29

Docker部署JumpServer堡垒机

引言JumpServer是一款广受欢迎的开源堡垒机&#xff0c;设计用于帮助企业更安全地管控和登录各种类型的IT资产。它遵循4A规范&#xff08;身份认证、账号管理、授权控制、安全审计&#xff09;&#xff0c;提供了一套专业的运维安全审计解决方案。环境准备硬件要求&#xff1a;…

作者头像 李华
网站建设 2026/6/8 10:38:36

量子计算文档自动生成实战指南(专家级镜像配置方案)

第一章&#xff1a;量子计算文档自动生成实战指南&#xff08;专家级镜像配置方案&#xff09;环境准备与依赖安装 构建量子计算文档自动化系统需基于稳定且高性能的容器化环境。推荐使用 Docker 镜像进行隔离部署&#xff0c;确保依赖一致性。以下为必备组件清单&#xff1a;P…

作者头像 李华
网站建设 2026/6/10 6:46:29

5分钟上手macOS iSCSI:让远程存储变身本地硬盘的终极指南

5分钟上手macOS iSCSI&#xff1a;让远程存储变身本地硬盘的终极指南 【免费下载链接】iSCSIInitiator iSCSI Initiator for macOS 项目地址: https://gitcode.com/gh_mirrors/is/iSCSIInitiator 还在为macOS存储空间不足而烦恼吗&#xff1f;iSCSI技术可以将网络存储设…

作者头像 李华