原本想法1
基于贪心,先从左到右把 ) 能消全消,那么 stack 里面只剩下了 (. 那么后面怎么做呢?stack里的(又该如何判断呢? — 无解思路
想法2
把锁住的消掉。这是基于以下几个思想:
- 非偶数串一定不valid
- 锁在头
)或尾(一定不valid - 如果没锁,那么偶数串一定valid
- 消锁无需在意没锁. 对于任意两锁点
i, j如果他们是一对,且中间都是没锁的情况下: 1.j - i - 1是偶数,则无需在意; 2. 奇数,则可以寻找外部一非锁点进行配对 - 如果不是一对则根据
(和)来从头和从尾判断是否有unlock值以供转换