Activity
oxyzhg commentedon Sep 22, 2020
早上在地铁看到这题给我整懵了,趁快要吃饭的时间赶紧记录下思考过程,结合前些天看源码,就想到利用模拟进栈出栈的思路,并保留最后可操作节点供插入新值。开始标签就创建节点,并进入新栈;结束标签就找最后一个对应开始标签栈,其余移除栈;自闭合标签不需要进栈出栈,直接更新节点就好。
dinjufen commentedon Sep 23, 2020
比较简陋的版本,假设给的字符串一定是标准的,没有容错处理,有不好的地方望指出。
思路:类似于常见的括号处理的题,
后续可以逐渐完善,增加各种错误处理
sisterAn commentedon Sep 23, 2020
@oxyzhg 这部分主要是用来判断什么的?直接出栈不就可以吗?
oxyzhg commentedon Sep 23, 2020
@sisterAn 正常的话就是直接出栈的哈,这里当时考虑了栈尾元素不一定是当前闭合标签相匹配,可能想多了。
LOVEwitch commentedon Sep 23, 2020
let index = nodeStacks .reverse() .findIndex(el => el.name === tag.replace(tagReg, "$1")); index = nodeStacks.length - index; nodeStacks.reverse();这段可以用lastIndexOf代替IndexOf吧,就不用来回reverse了mingju0421 commentedon Nov 11, 2020
xllpiupiu commentedon Oct 5, 2021
XfLoops commentedon Oct 26, 2021