本文主要是介绍20. 有效的括号,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
class Solution {
public boolean isValid(String s) {
// 用栈的方式来解
Stack<Character> stack = new Stack<>();
// 当字符串为空时,直接返回true
if(s.isEmpty()) return true;
// 遍历字符串,将字符串转成字符数组
for(char c : s.toCharArray()){
// 遍历字符串,符合条件的的符号压入栈中
if(c == '('){
stack.push(')');
}else if(c == '['){
stack.push(']');
}else if(c == '{'){
stack.push('}');
}else{
// 当栈空或,字符串和弹出的栈首元素不匹配则返回false
if(stack.isEmpty() || c != stack.pop()){
return false;
}
}
}
// 当遍历完字符串栈空返回true
if(stack.isEmpty())return true;
// 否则返回false
return false;
}
}
这篇关于20. 有效的括号的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!