千家信息网

怎么用Java实现判断括号的合法性

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容介绍了"怎么用Java实现判断括号的合法性"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!pu
千家信息网最后更新 2025年01月24日怎么用Java实现判断括号的合法性

本篇内容介绍了"怎么用Java实现判断括号的合法性"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

public class CheckBrackets {        public static void main(String[] args) {                String str = "()([{{}}])]";                System.out.println(bracketsValid(str));        }        /**         * 判断单种括号         * @return         */        public static boolean bracketValid(String str){                char[] brackets = str.toCharArray();                // 待匹配的左括号数量                int left = 0;                for(char c : brackets){                        if('(' == c){                                left++;                        }else {                                left--;                        }                        if(left < 0){                                return false;                        }                }                return 0 == left;        }        /**         * 判断多种括号         * @return         */        public static boolean bracketsValid(String str){                Stack left = new Stack<>();                char[] brackets = str.toCharArray();                for(char c : brackets){                        // 左括号入栈                        if('(' == c || '{' == c || '[' == c){                                left.push(c);                        }else {                                // 右括号和栈顶元素匹配                                if(!left.empty() && leftOf(c) == left.peek()){                                        left.pop();                                }else {                                        return false;                                }                        }                }                // 所有元素匹配                return left.empty();        }        static char leftOf(char c){                if(')' == c){                        return '(';                }                if('}' == c){                        return '{';                }                return '[';        }}

"怎么用Java实现判断括号的合法性"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0