题目描述
给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列
括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。
示例1
输入
复制
"["
返回值
复制
false
import java.util.*;
//栈
//empty()函数返回stack是否为空,空返回真。
public class Solution {
/**
*
* @param s string字符串
* @return bool布尔型
*/
public boolean isValid (String s) {
// write code here
Stack<Character> stack=new Stack<>();
for(char a : s.toCharArray())
{
if(a=='(')
stack.push(')');
else if(a=='{')
{
stack.push('}');
}
else if(a=='[')
{
stack.push(']');
}else if(stack.isEmpty()||stack.pop()!=a)
{
return false;
}
}
return stack.empty();
}
}