问题描述:给定一个只包含字符 '(', ')', '{', '}', '[' 和 ']' 的字符串,判断字符串中的括号是否有效。有效的括号需满足以下条件:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
示例:输入: "()[]{}"输出: true
输入: "([)]"输出: false
输入: "{[]}"输出: true
代码示例(Python):
代码示例(Java):
以上示例代码分别使用了Python和Java两种常见编程语言,实现了判断给定字符串中括号是否有效的功能。通过维护一个栈数据结构,遍历字符串中的每个字符,根据括号的匹配规则进行判断和处理。最后根据栈是否为空来确定括号是否有效。
代码示例(C++):
以上示例代码使用了C++编程语言来实现括号有效性的判断。同样采用了栈数据结构和哈希映射来存储括号的对应关系。遍历字符串中的每个字符,根据括号的匹配规则进行判断和处理。最后根据栈是否为空来确定括号是否有效。
无论使用哪种编程语言,核心思想都是一致的:通过栈数据结构来匹配和判断括号的有效性。遍历字符串中的每个字符,遇到左括号则入栈,遇到右括号则与栈顶元素进行匹配。如果匹配成功,则将栈顶元素出栈;如果匹配失败或栈为空,则括号无效。最后,根据栈是否为空来判断括号是否完全闭合。
领取专属 10元无门槛券
私享最新 技术干货