leetcode 777. Swap Adjacent in LR String | 777. 在LR字符串中交换相邻字符(双指针)
题目
https://leetcode.com/problems/swap-adjacent-in-lr-string/
题解
本来以为是个带 visited 集合的 DFS,一看数据量,居然是 10^4。
然后看了下 hint,Think of the L and R's as people on a horizontal line, where X is a space. The people can't cross each other, and also you can't go from XRX to RXX.
,一想,有点像状态机嘛。
详见草稿:
class Solution {public boolean canTransform(String start, String end) {int i = 0;int j = 0;while (true) {while (i < start.length() && start.charAt(i) == 'X') i++;while (j < end.length() && end.charAt(j) == 'X') j++;if (i == start.length() && j == end.length()) return true;if (i == start.length() || j == end.length()) return false;if (i < start.length() && j < end.length() && start.charAt(i) == end.charAt(j)) { // 两字母相同if (start.charAt(i) == 'L') { // 均为Lif (i < j) return false;} else { // 均为Rif (j < i) return false;}i++;j++;} else { // 两字母不同return false;}}}
}
leetcode 777. Swap Adjacent in LR String | 777. 在LR字符串中交换相邻字符(双指针)相关推荐
- Java实现 LeetCode 777 在LR字符串中交换相邻字符(分析题)
777. 在LR字符串中交换相邻字符 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"L ...
- 777. 在LR字符串中交换相邻字符
777. 在LR字符串中交换相邻字符 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"L ...
- 力扣 777. 在LR字符串中交换相邻字符
题目来源:https://leetcode.cn/problems/swap-adjacent-in-lr-string/ 大致题意: 给两个由 L.R.X 组成的字符串 start 和 end,其中 ...
- LeetCode 777. 在LR字符串中交换相邻字符(双指针)
1. 题目 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"LX"替换一个&q ...
- ios 部分string颜色_ios 设置字符串中某段字符的颜色
1.提取URL NSMutableAttributedString*strMutable=[[NSMutableAttributedString alloc]initWithString:str]; ...
- java string 连续字符_Java中字符串中连续相同字符去重方法
导读 正文 最近参加了一个面试,问到了如何在一个字符串中连续相同字符去重,想了想用正则表达式应该可以轻松实现.可是由于长时间没有编码了,而且由于原先的工作用到的比较少.具体的自己就不会写正则表达式用到 ...
- 【PAT甲级 删除字符串中的指定字符】1050 String Subtraction (20 分) C++
题目 删除字符串中的另一个字符串包含的所有字符. 可以通过判断两个字符串是否为空,来稍微优化一下运行速度 题解C++ #include<iostream> #include<stri ...
- [CareerCup] 1.1 Unique Characters of a String 字符串中不同的字符
1.1 Implement an algorithm to determine if a string has all unique characters. What if you cannot us ...
- c++string替换指定位置字符_Excel数据分析:如何替换字符串中的指定字符?
数据分析预处理中,经常遇到这样的问题:现有字符串中,如何替换指定的部分字符,例如有大量电话号码,现需要将这些号码最后四位替换为****,该如何做呢? 类似的问题和使用场景有很多,如果你的行记录有几千几 ...
最新文章
- LeetCode:Spiral Matrix I II
- 前端那么多框架,我们到底学哪一个
- Oracle的时区问题
- dj电商-模型类设计-1.x-订单模块表
- Silverlight 4 RC发布和详细更新
- SegNet论文笔记
- 计算机无法添加本地策略组,解决win10找不到本地组策略和本地用户的方法
- JDBC中connection.isClosed 和 connection.isValid的区别
- 手机怎样和宽带连接无线路由器设置路由器连接服务器,手机设置路由器步骤_用手机怎么设置路由器?-192路由网...
- 迭代局部搜索算法(Iterated local search)
- 【C++ 程序】 复数类 (Complex)
- PAT_乙级_1004_筱筱
- 迷你音乐播放器v1.0正式上线!
- php代码自动生成文档-phpDocumentor
- ios12升级, App应用崩溃闪退
- 为内部业务系统(LOB)使用Exchange Online发送匿名邮件
- Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析
- Linux企业化运维--(7)redis服务之redis配置及主从复制、主从自动切换、集群、redis+mysql、gearman实现数据同步
- Java SE基础知识详解第[13]期—不可变集合、Stream流、异常
- Qt串口多线程:QObject: Cannot create children for a parent that is in a different thread.