Day 7
Date: October 2, 2022 11:59 AM
LinkedIn: https://leetcode.cn/problems/swap-adjacent-in-lr-string/
Title: 在LR字符串中交换相邻字符
将start 与 end 中的X去掉之后字符一样
class Solution:
def canTransform(self, start: str, end: str) -> bool:
n = len(start)
i=j=0
while 1:
while i < n and start[i] == 'X': # 找到L、R字符
i+=1 # python没有i++
while j < n and end[j] == 'X':
j+=1
if i>=n and j>=n: # 遍历结束
return True
if i>=n or j>=n or start[i] != end[j]: # 按顺序找到的L 、 R字符不匹配
return False
if start[i] == 'R' and i > j: # R在start中的下标大于end中的便不可能
return False
if start[i] == 'L' and i < j: # L在start中的下标小于end中的便不可能
return False
i, j = i+1, j+1