刷leetcode-比较含退格的字符串 | 刷题打卡
一、题目描述:
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
注意:如果对空文本输入退格字符,文本继续为空。
提示:
- 1 <= S.length <= 200
- 1 <= T.length <= 200
- S 和 T 只含有小写字母以及字符 '#'。
示例 1: 输入:S = "ab#c", T = "ad#c" 输出:true 解释:S 和 T 都会变成 “ac”。
示例 2: 输入:S = "ab##", T = "c#d#" 输出:true 解释:S 和 T 都会变成 “”。
二、思路分析:
这几天都在刷栈,这个典型的栈思维。
遇到#
,出栈,不是就进栈
三、AC 代码:
var backspaceCompare = function(S, T) { const getStr = (str)=>{ let res = [] str.split('').forEach(item=>item==='#'?res.pop():res.push(item)) return res.join('') } return getStr(S) === getStr(T) };
四、总结:
- 遇到将最后一个扔出去的情景,想想栈