题目重新理解
查看原帖
题目重新理解
121646
sunxiaofan楼主2022/2/9 16:49

这个题目恶心到我了,总算是过了。下面写一下我对题目含义的个人理解,希望是对的。

扫一遍这个括号序列,每遇到一个右括号,如‘]’‘)’,就找上一个没有被匹配过的左括号。如果这两个括号是可以匹配的,则匹配;如果不能匹配,则不管这个右括号,继续向右扫。整个序列扫完一遍之后,再扫一遍。如果遇到没有匹配过的左括号或者右括号,直接输出一对括号。

提供两组样例:

样例一:

([)]

输出:

()[()]

解释:

读入时,遇到的第一个右括号是第3位的‘)’,但是上一个没有被匹配过的左括号是第2位的‘[’,所以不管这个右括号。继续,下一个右括号是第4位的‘]’,上一个没有匹配过的左括号还是第2位的‘[’,所以匹配成功。
第一遍匹配结束之后,第1位的‘(’和第3位的‘)’是没有被匹配过的,所以在原位变成一对。

样例二:(其实也是本题的测试点一)

([(]

输出:

()[]()[]

希望能为看到这个帖子的大佬们节省一些时间。

2022/2/9 16:49
加载中...