算法

[LeetCode OJ]- Valid Parenthese

2017-03-20  本文已影响0人  其中一个cc

题目要求:给定一个包含六种括号的字符串,判断这个字符串是否为匹配的字符串。这六种括号包括:(){}【】

匹配的字符串像这样 

()({})

【{}(【】)】

不匹配的字符串像这样

{}】

(()(

思路:这个问题用堆栈来处理比较好。

依次把字符入栈:当字符为左括号时,入栈;

当字符为右括号时,如果当前栈为空,肯定是不匹配的字符串,(左边没有可以匹配的左括号),返回假;如果当前栈不空,分两种情况:

当栈顶元素跟当前元素是一对括号时,出栈一个元素;

否则,返回假。

代码如下。

上一篇下一篇

猜你喜欢

热点阅读