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

917. 仅仅反转字母

917. 仅仅反转字母icon-default.png?t=N2N8https://leetcode.cn/problems/reverse-only-letters/

难度简单189

给你一个字符串 s ,根据下述规则反转字符串:

  • 所有非英文字母保留在原有位置。
  • 所有英文字母(小写或大写)位置反转。

返回反转后的 s 。

示例 1:

输入:s = "ab-cd"
输出:"dc-ba"

示例 2:

输入:s = "a-bC-dEf-ghIj"
输出:"j-Ih-gfE-dCba"

示例 3:

输入:s = "Test1ng-Leet=code-Q!"
输出:"Qedo1ct-eeLg=ntse-T!"

提示

  • 1 <= s.length <= 100
  • s 仅由 ASCII 值在范围 [33, 122] 的字符组成
  • s 不含 '\"' 或 '\\'

题解:
    这道题可以使用双指针,分别从头尾向中间遍历,在指针向中心移动过程中,交换头尾指针的值,同时判断当前指针所指向的值是否是非字母字符,是则跳过,不是则进行交换。

/*** @param {string} s* @return {string}*/
var reverseOnlyLetters = function(s) {
let arr = s.split("");let head = 0;let temp;var re = /[A-Za-z]+/;let tail = arr.length - 1;
//   console.log(arr, head, tail);for (; head != tail, tail > head; ) {// console.log("head:", arr[head], head, "tail:", arr[tail], tail);if (re.test(arr[head]) && re.test(arr[tail])) {//   console.log(arr[tail], arr[head]);temp = arr[tail];arr[tail] = arr[head];arr[head] = temp;//   console.log("交换了");//   console.log(arr[tail], arr[head]);head++;tail--;}if (!re.test(arr[head])) {head++;}if (!re.test(arr[tail])) {tail--;}}let str = arr.join("");
//   console.log(arr);
//   console.log(str);return str;
};

http://www.lryc.cn/news/45672.html

相关文章:

  • Linux-Git
  • leetcode:2273. 移除字母异位词后的结果数组(python3解法)
  • 基于Python长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析、生物量估算与趋势分析等领域中的应用
  • 4.4---Spring框架之Spring事务(复习版本)
  • IP-Guard是否支持禁止客户端电脑卸载指定软件?
  • 系统图标形状overlayapk
  • 辅助编程coding的两种工具:Github Copilot、Cursor
  • MySQL5.7安装教程
  • ML@sklearn@ML流程Part3@AutomaticParameterSearches
  • Ubuntu22安装OpenJDK
  • 【数据库管理】②实例管理及数据库启动关闭
  • 【2023】Kubernetes之Pod与容器状态关系
  • LabVIEW阿尔泰PCIE 5654 例程与相关资料
  • spark2.4.4有哪些主要的bug
  • 信息学奥赛一本通 1347:【例4-8】格子游戏
  • acwing3417. 砝码称重
  • 生成式 AI:百度“文心一言”对标 ChatGPT?什么技术趋势促使 ChatGPT 火爆全网?
  • PCL 非线性最小二乘法拟合圆柱
  • 【设计模式】迪米特法则
  • CSS3笔试题精讲1
  • 交叉编译用于移植的Qt库
  • 泰凌微TLSR8258 zigbee开发环境搭建
  • C#实现商品信息的显示异常处理
  • 细数N个获取天气信息的免费 API ,附超多免费可用API 推荐(三)
  • 20230404英语学习
  • 冒泡排序 快排(hoare递归)
  • 49天精通Java,第24天,Java链表、散列表、HashSet、TreeSet
  • HashMap源码分析小结
  • 太奇怪了!小公司面试全挂,大厂面试全过,为什么小公司要求比大厂还高?...
  • Java开发环境配置