题目要求:给定一个包含六种括号的字符串,判断这个字符串是否为匹配的字符串。这六种括号包括:(){}【】
匹配的字符串像这样
()({})
【{}(【】)】
不匹配的字符串像这样
{}】
(()(
思路:这个问题用堆栈来处理比较好。
依次把字符入栈:当字符为左括号时,入栈;
当字符为右括号时,如果当前栈为空,肯定是不匹配的字符串,(左边没有可以匹配的左括号),返回假;如果当前栈不空,分两种情况:
当栈顶元素跟当前元素是一对括号时,出栈一个元素;
否则,返回假。
代码如下。
题目要求:给定一个包含六种括号的字符串,判断这个字符串是否为匹配的字符串。这六种括号包括:(){}【】
匹配的字符串像这样
()({})
【{}(【】)】
不匹配的字符串像这样
{}】
(()(
思路:这个问题用堆栈来处理比较好。
依次把字符入栈:当字符为左括号时,入栈;
当字符为右括号时,如果当前栈为空,肯定是不匹配的字符串,(左边没有可以匹配的左括号),返回假;如果当前栈不空,分两种情况:
当栈顶元素跟当前元素是一对括号时,出栈一个元素;
否则,返回假。
代码如下。