20. 有效的括号
Posted hequnwang10
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20. 有效的括号相关的知识,希望对你有一定的参考价值。
解题
栈
这里巧妙使用栈,若为左括号,则将相对应的右括号进栈,若为右括号,则先判断栈是否为空,然后在判断出栈元素是否等于当前的右括号。
class Solution
public boolean isValid(String s)
//使用栈实现括号的匹配;
Stack<Character> stack = new Stack<Character>();
//左括号和右括号一定是连续成对的出现,当为左括号时就将对应的右括号压栈,为右括号就出栈,最后判断栈是否为空
for(char c : s.toCharArray())
if(c == '(' )
stack.push(')');
else if(c == '[')
stack.push(']');
else if(c == '')
stack.push('');
else if( stack.isEmpty()||c != stack.pop() )
//先判断栈是否为空 然后在将栈元素出栈。
//如果当前值为右括号 就出栈,并且判断出栈的元素是否等于当前元素,不相等就返回false。
return false;
return stack.isEmpty();
以上是关于20. 有效的括号的主要内容,如果未能解决你的问题,请参考以下文章