利用栈实现括号匹配 c++

给定一个只包括 (,),{,},[,] 的字符串,判断该字符串是否有效。称一个字符串有效,满足每一个左括号都必须有与之配套的右括号闭合。每个左括号都必须用正确的顺序闭合。
例如 (]()就不是有效的字符串。
([]) 正确。
[()]{} 正确。

Input

第一行,一个正整数N,表示有N个测试样例。
接下去N行,每一行是一个测试样例,即一个字符串。

Output

N行,每行输出结果,Yes(表示字符串有效) 或者No(表示字符串无效)。

Sample Input

1
()[{]}

Sample Output

No
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^