题目

917. 仅仅反转字母
给你一个字符串 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 不含 ‘"’ 或 ‘\’

解题思路

  • 双指针。
  • 左边一个指针,右边一个指针。如果左边小于右边且同时扫描到字母,交换位置。

Code

class Solution:def reverseOnlyLetters(self, s: str) -> str:ans, left, right = list(s), 0, len(s) - 1while True:while left < right and not ans[left].isalpha():left += 1while left < right and not ans[right].isalpha():right -= 1if left >= right:breakans[left], ans[right] = ans[right], ans[left]left += 1right -= 1return ''.join(ans)

运行结果

LeetCode:917. 仅仅反转字母————简单相关推荐

  1. LeetCode:917. 仅仅反转字母

    917. 仅仅反转字母 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 设俩个指针,一个位于字符串第一个字符,一个位于最后一个字符,当都为字符时交换:不都为字符时直接跳过. 源码: char ...

  2. LeetCode 917. 仅仅反转字母

    1. 题目 给定一个字符串 S,返回 "反转后的" 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转. 示例 1: 输入:"ab-cd" 输出: ...

  3. 2022-4-9 Leetcode 917.仅仅反转字母

    class Solution {public:string reverseOnlyLetters(string s) {string str;for(auto & ch :s){if(isal ...

  4. 【必备算法】字符串(反转问题):LeetCode题 344. 反转字符串,541. 反转字符串 II,917. 仅仅反转字母

    写在前面,反转数组的思路很简单,就是借助双指针不断将首尾相应位置的字符交换.Java模板如下: public void reverseArray(char[] arr) {int i = 0, j = ...

  5. Leetcode:125.验证回文串,917仅仅反转字母,387字符串的第一个唯一字符

    文章目录 125.验证回文串 题目描述 示例 思路分析 代码实现 917.仅仅反转字母 题目描述 示例 思路分析 代码实现 387.字符串的第一个唯一字符 题目描述 示例 思路分析 代码实现: 125 ...

  6. 【LeetCode】917. 仅仅反转字母

    题目 917. 仅仅反转字母 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置. 所有英文字母(小写或大写)位置反转. 返回反转后的 s . 示例 1: 输入:s = &q ...

  7. 「 每日一练,快乐水题 」917. 仅仅反转字母

    ✅力扣原题: 力扣链接:917. 仅仅反转字母 ✅题目简述: 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置. 所有英文字母(小写或大写)位置反转. 返回反转后的 s . ...

  8. 力扣之917. 仅仅反转字母

    文章目录 917. 仅仅反转字母 1.题目 2.参考答案 3.知识点 ①str.isalpha() 917. 仅仅反转字母 1.题目 给你一个字符串 s ,根据下述规则反转字符串: 1.所有非英文字母 ...

  9. 917. 仅仅反转字母 【每日一题】

    题目链接 917. 仅仅反转字母 思路 1.先得到去掉非字母的字符串,这一步用正则就可以了 2.然后反转字符串 3.遍历原来的字符串,遇到是字母就加入反转的字母,不是字母的就加入非字母字符的本身(这一 ...

最新文章

  1. Python学习总结5:数据类型及转换
  2. 【MM模块】 Goods Receipt 收货 4
  3. android 固定比例图片裁剪插件,如何在Android中裁剪不同比例的图像?
  4. Oracle数据库案例整理-Oracle系统执行时故障-Shared Pool内存不足导致数据库响应缓慢...
  5. 如何正确的通过 C++ Primer 学习 C++?(转自知乎)
  6. 每次请求刷新token的时间
  7. sourceInsight4 破解笔记(完美破解)【转】
  8. 菜鸟涂鸦作品展_No.24
  9. JavaScript中使用attachEvent实现事件监听
  10. 【ADNI】数据预处理(3)CNNs
  11. maxima学习笔记(一)
  12. 创业缺乏的不是钱,是智慧
  13. Android App内存泄露测试方法总结
  14. VUE 的updated钩子函数被死循环一样无限调用
  15. opendrive网盘 一个能免费直接外链的网盘
  16. 基于人形检测的划区域客流统计
  17. 从苏宁电器到卡巴斯基第17篇:我在苏宁电器当营业员 VIII
  18. 手机外接usb摄像头软件下载_细思极恐,手机软件会偷偷打开摄像头?
  19. 浅谈UWB室内定位(一)
  20. PPT模板分享#学生#汇报#简约

热门文章

  1. 苹果手机iOS用fiddler抓不了https的包
  2. 项目原型设计(那周余嘉熊掌将得队)
  3. 接入华为游戏防沉迷,点击防沉迷弹窗后游戏闪退
  4. 任务3、监控界面设计
  5. 李政道和杨振宁合作历程
  6. RN 原生模块及组件入门
  7. 【人脸识别】Haar分类器五官定位【含GUI Matlab源码 686期】
  8. AudioES8374音频驱动调试
  9. Problem C: 农夫果园
  10. 目标转化出价多少_头条信息流广告目标转化出价(ocpc出价)常见问题讲解