给你一个字符串 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 不含 ‘"’ 或 ‘\’

public String reverseOnlyLetters(String s) {StringBuilder sb = new StringBuilder();int length = s.length();int len=length-1;for (int i = 0; i < length; i++) {if(!Character.isLetter(s.charAt(i))){sb.append(s.charAt(i));continue;}if(Character.isLetter(s.charAt(len))){sb.append(s.charAt(len));len--;}else{for (int j =len-1; j>=0; j--){if(Character.isLetter(s.charAt(j))){sb.append(s.charAt(j));len=j-1;break;}}}}return sb.toString();}

【Java】917. 仅仅反转字母---使用双指针移动相关推荐

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

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

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

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

  3. LeetCode:917. 仅仅反转字母————简单

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

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

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

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

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

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

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

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

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

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

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

  9. 917. 仅仅反转字母

    前言 C++是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发. C++既可以进行C语言的过程化程序设计,又可以进行以抽象 ...

最新文章

  1. IE7不能显示PNG
  2. 牛客网(剑指offer) 第五题 用两个栈来实现一个队列
  3. linux nfs 多个ip,Linux – NFS (IPv6)
  4. python 字符串 4位一组_Python基础4- 字符串
  5. 适配器自动分配的169开头的地址_代理ip地址怎么换
  6. linux从哪里入侵电脑,linux入侵的基本命令网站安全 -电脑资料
  7. 超级记忆/图像数字记忆 110位数字图像转换表 31-40
  8. idea 右键修复lint格式问题
  9. dell主板40针开机针脚_主板开机针脚 ,该怎么插啊 分别有POWER SW, H.D.D LED, RESET SW, P...
  10. Linux命令:常用进程查看命令
  11. python dataframe是什么_【Python-pandas】核心数据结构DataFrame介绍
  12. spssfisher判别分析步骤_spss进行判别分析步骤_spss判别分析结果解释_spss判别分析案例详解...
  13. spring编译源码 spring-cglib-repack-3.2.7.jar和spring-objenesis-repack-2.6.jar 缺失解决办法 groovy eclipse插件安装
  14. ShowType=0,● 交换机命令show interfaces type 0/port_# switchport|trunk用于显示中继连接的配置情况,下面...
  15. overleaf使用指南以及最基本LaTeX语法回顾
  16. 运放稳定性连载14:RO何时转变为ZO?(3)
  17. 概要设计和详细设计区别_小程序设计和APP设计的区别
  18. 纯电动车实际项目模型,本模型基于Cruise软件和Simul
  19. mysql 1166错误解决
  20. 极家装修好吗?看其给的装修建议就知道了

热门文章

  1. java编写旋转风车_用JavaFX几个简单动画——旋转风车、运动的圆
  2. 吉林大学软件学院软构件与中间件JavaEE实验
  3. 图书管理系统-GUI Mysql 数据库课程设计-更新版
  4. Java反射invoke报错wrong number of arguments
  5. qcqa是什么职位_QC、QA的定义及岗位职责
  6. 文达信息工程学院计算机学院,安徽文达信息工程学院计算机工程学院来我校信息工程学院调研交流...
  7. 运行uniapp项目,提示uniapp依赖插件还未加载,请稍后重试
  8. 中兴通讯股份有限公司薪酬待遇福利
  9. top命令的load average是什么意思?
  10. dmg写入u盘_轻松教大家用U盘安装Mac OS10.14.1双系统