{"title":"有效括号匹配算法实现 - Python 和 Java 代码示例","description":"本文提供 Python 和 Java 代码示例,实现有效括号匹配算法,并解析算法原理和关键代码细节。","keywords":"有效括号匹配, 括号匹配算法, Python 代码, Java 代码, 栈, 数据结构, 算法","content":""dic={'(':')','[':']','{':'}'}\n left=[]\n for i in s:\n if i==']' or i==')' or i=='}':\n if len(left)==0:\n return False\n elif dic[left[-1]]!= i:\n return False\n else:\n left.pop()\n else:\n left.append(i)\n if len(left)!=0:\n return False\n return True\n\n将上述代码用java重构内容:import java.util.Stack;\n\npublic class Solution {\n public boolean isValid(String s) {\n char[] parentheses = {'(', ')', '[', ']', '{', '}'};\n char[] leftParentheses = {'(', '[', '{'};\n char[] rightParentheses = {')', ']', '}'};\n Stack stack = new Stack<>();\n \n for (char c : s.toCharArray()) {\n if (contains(leftParentheses, c)) {\n stack.push(c);\n } else if (contains(rightParentheses, c)) {\n if (stack.isEmpty() || !isMatchingPair(stack.pop(), c)) {\n return false;\n }\n }\n }\n \n return stack.isEmpty();\n }\n \n private boolean contains(char[] arr, char c) {\n for (char ch : arr) {\n if (ch == c) {\n return true;\n }\n }\n return false;\n }\n \n private boolean isMatchingPair(char c1, char c2) {\n if (c1 == '(' && c2 == ')') {\n return true;\n } else if (c1 == '[' && c2 == ']') {\n return true;\n } else if (c1 == '{' && c2 == '}') {\n return true;\n }\n return false;\n }\n}


原文地址: https://www.cveoy.top/t/topic/pFxM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录