Bramble_Marshall @ 2023-12-30 18:42:19
看了好几遍,终于懂了
( 下文所说的下标,以原字符串为主 )
原字符串
([()
1. 从左到右扫描右括号, 发现下标为3处有一个右括号 ')',此时字符串为
([()
2. 与其最近的未匹配的左括号为下标2处的 '(',配对,此时字符串为
([()
3. 继续扫描,发现没有左括号了,此时字符串为
([()
4. 为下标为0的未配对字符 '(' 添加一个 ')' 以与其配对,此时字符串为
()[()
5. 为下标为1的(第4步结果中下标为2的)未配对字符 '[' 添加一个字符 ']' 以与其配对,此时字符串为
()[]()
6. 输出结果
()[]()
原字符串
([)
1. 从左到右扫描右括号, 发现下标为2处有一个右括号 ')',此时字符串为
([)
2. 与其最近的未匹配的左括号为下标1处的 '[',无法配对,为其添加一个 '(' 以与其配对,此时字符串为
([()
3. 继续扫描,发现没有左括号了,此时字符串为
([()
4. 为下标为0的字符 '(' 添加一个 ')' 以与其配对,此时字符串为
()[()
5. 为下标为1的(第4步结果中下标为2的)字符 '[' 添加一个字符 ']' 以与其配对,此时字符串为
()[]()
6. 输出结果
()[]()
这就是我的理解,希望对你有帮助
by Fengxuyang @ 2024-05-07 23:00:44
@Bramble_Marshall 帮助确实很大