题目:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
示例一
输入:S = “ab#c”, T = “ad#c”
输出:true
解释:S 和 T 都会变成 “ac”。
示例二
输入:S = “ab##”, T = “c#d#”
输出:true
解释:S 和 T 都会变成 “”。
思路:将两个字符串分别存入两个栈,当元素不为"#“时,直接入栈,当出现”#"时,如果当前栈为空,不做任何操作,如果当前栈不为空,弹出栈顶元素。
最后比较两个栈的元素,出现不同则跳出循环输出false
代码如下:
def backspaceCompare(S,T):
r1 = [];
r2 = [];
for i in range(len(S)):
if S[i] != '#':
r1.append(S[i])
elif S[i] == '#' and len(r1) != 0:
r1.pop()
for i in range(len(T)):
if T[i] != '#':
r2.append(T[i])
elif T[i] == '#' and len(r2) != 0:
r2.pop()
if len(r1) == len(r2):
for i in range(len(r1)):
if r1[i]!=r2[i]:
return False
break
return True
else:
return False