LeetCode 917. Reverse Only Letters (仅仅反转字母)
题目标签:String
利用left, right 两个pointers, 从左右开始 互换 字母。如果遇到的不是字母,那么继续移动到下一个。
Java Solution:
Runtime beats 29.87%
完成日期:12/08/2018
关键点:two pointers
1 class Solution { 2 public String reverseOnlyLetters(String S) { 3 char[] charArr = S.toCharArray(); 4 int left = 0; 5 int right = S.length() - 1; 6 7 while(left < right) 8 { 9 if(Character.isLetter(charArr[left]) && Character.isLetter(charArr[right])) 10 { 11 char temp = charArr[left]; 12 charArr[left] = charArr[right]; 13 charArr[right] = temp; 14 15 left++; 16 right--; 17 } 18 19 if(!Character.isLetter(charArr[left])) 20 left++; 21 if(!Character.isLetter(charArr[right])) 22 right--; 23 24 } 25 26 return new String(charArr); 27 } 28 }
参考资料:N/A
LeetCode 题目列表 - LeetCode Questions List
题目来源:https://leetcode.com/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 一个适用于 .NET 的开源整洁架构项目模板
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
· MyBatis中的 10 个宝藏技巧!