class Solution {
public boolean isValid(String s) {
//限定该栈中只能存Character类型元素
Stack<Character> stack=new Stack<>();
for(int i=0;i<s.length();i++){
char c=s.charAt(i);
if(c=='('||c=='['||c=='{'){
stack.push(c);
}
//判断出栈元素是否和右括号匹配
else if(stack.isEmpty()||c==')'&&stack.pop()!='('||c==']'&&stack.pop()!='['||c=='}'&&stack.pop ()!='{'){
return false;
}
}
return stack.isEmpty();
}
}
该博客详细解析了一种有效的括号匹配算法,通过使用栈数据结构来检查字符串中的左括号和右括号是否正确配对。代码展示了如何遍历字符串,遇到左括号时压入栈中,遇到右括号时检查栈顶元素是否与其匹配。如果匹配失败则返回false,最后检查栈是否为空以确定所有括号都已正确闭合。
679

被折叠的 条评论
为什么被折叠?



