力扣解题:括号匹配算法 java

力扣解题:括号匹配算法 java,第1张

力扣解题:括号匹配算法 java
 
import java.util.Stack;

public class kuohaopipei {
    public boolean isValid(String s){
        Stack stack=new Stack();
        char[] charArray = s.toCharArray();//转换成字符串数组,方便增强for遍历

        for(char c:charArray){
            if(c=='('||c=='['||c=='{'){//左括号 入栈
                stack.push(c);
            }
            else {
                if(!stack.isEmpty()){//右括号 栈不为空找栈顶元素是否匹配
                    if(c==')'){
                        if(stack.pop()!='('){
                            return false;
                        }
                    }else if(c==']'){
                        if(stack.pop()!='['){
                            return false;
                        }
                    }else{
                        if(stack.pop()!='{'){
                            return false;
                        }
                    }
                }
                else {//右括号 栈为空
                    return false;
                }
            }
        }
        return stack.isEmpty();//如果遍历完后栈也出栈完为空,则返回true
    }

}

题目链接:力扣

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5716739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存