9.5---括号是否有效(CC150)

leetcode原题:

char temp ;
Stack<Character> stack = new Stack<Character>();//error:Stack<char> stack = new Stack<char>();
//思路,因为他要的是顺序要对。所以我先把(,[,{的存入栈,遇到反向的时候看一下最近的一个是不是他的配对
for(int i = 0; i < s.length(); i++)
{
temp = s.charAt(i);
if(temp == '(' || temp == '[' || temp == '{')
{
stack.push(temp);
}
else
{
if(stack.empty())
{
return false;
}//error: not write

if(temp == ')' && stack.pop() != '(') //error: if(temp == ')' && stack.pop() != "(")
{
return false;
}
if(temp == ']' && stack.pop() != '[')
{
return false;
}
if(temp == '}' && stack.pop() != '{')
{
return false;
}
}
}
return stack.empty();//error: return true;

原文地址:https://www.cnblogs.com/yueyebigdata/p/5088095.html