048 · Backspace String Compare
algorithm
Problem
给定两个字符串 s 和 t。
字符串中可能包含普通小写字母,也可能包含字符 "#"。
"#" 表示退格键:它会删除前面最近的一个字符。
如果 "#" 前面已经没有字符可以删除,那么这个 "#" 什么也不会删除。
请判断:两个字符串分别执行完所有退格操作以后,最终得到的字符串是否相同。
如果相同,返回:
true
否则返回:
false
例如:
s = "ab#c"
t = "ad#c"
s 执行退格后:
"ab#c" -> "ac"
t 执行退格后:
"ad#c" -> "ac"
两个最终字符串都是 "ac",所以答案是:
true
Examples
示例 1
Input: s = "ab#c", t = "ad#c"
Output: true
解释:s 和 t 执行退格以后都变成 "ac"。
示例 2
Input: s = "ab##", t = "c#d#"
Output: true
解释:"ab##" 会删除 b 和 a,最终是空字符串;"c#d#" 会删除 c 和 d,最终也是空字符串。
示例 3
Input: s = "a#c", t = "b"
Output: false
解释:"a#c" 执行退格以后变成 "c",而 t 仍然是 "b",两者不同。
Constraints
- \(1 \leq\)
s.length,t.length\(\leq 200\) s和t只包含小写英文字母和字符"#"
Link
→ Solution