
华为OD面试真题精选
🌟 强烈推荐:华为OD技术面试手撕算法代码真题 🌟
大家好!今天我给大家推荐一份备受赞誉的华为OD技术面试手撕算法代码真题。 所有题目均为华为od实际面试过程中出现的算法代码真题。
专栏:华为OD面试真题精选
文章目录
题目
给定一个由括号([{)]}其中之一或多个组成的字符串判断是否符合左右括号成对标准,不同括号可任意嵌套。判断是否是合法的嵌套。 符合返回true,否则为false
只有单个左或右括号 均不符合
- )(}{][ 不符合
- (){}[] 符合
- ({[]}) 符合
- ({}[)] 符合
- ()() 符合 左括号位置:0 2 右括号位置:1 3
- (()) 符合 左括号位置: 0 1 右括号位置:2 3
- ((()))(()()) 符合 左括号位置:0 1 2 6 7 9 右括号位置:3 4 5 8 10 11
用例
示例 1:
输入:)(}{][
输出:false
示例 2:
输入:((()))(()())
输出:true
解题思路:
- 使用一个栈(Stack)来存储遍历过程中遇到的左括号。
- 遍历字符串中的每个字符。
- 如果遇到左括号(‘(’、‘[’ 或 ‘{’),将其压入栈中。
- 如果遇到右括号(‘)’、‘]’ 或 ‘}’),检查栈是否为空。如果栈为空,说明右括号没有对应的左括号,返回 false。
- 弹出栈顶元素,检查栈顶元素是否与当前右括号匹配。如果不匹配,说明括号不
本文分享了华为OD技术面试中的一道算法题,要求判断给定的括号字符串是否符合合法的嵌套规则。通过使用栈结构遍历字符串,检查括号的匹配情况。提供了Java、C++、JavaScript和Python的解题思路和代码实现。
订阅专栏 解锁全文
1万+





