- 0
- 0
- 约6.29千字
- 约 18页
- 2026-02-02 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为技术面试题集
一、编程基础题(共5题,每题10分,总分50分)
题目1(10分)
题目:请编写一个函数,实现二叉树的深度优先遍历(前序遍历)。要求使用递归方式实现,并返回遍历结果的列表。
答案:
python
defpreorder_traversal(root):
ifnotroot:
return[]
result=[]
defdfs(node):
ifnode:
result.append(node.val)
dfs(node.left)
dfs(node.right)
dfs(root)
returnresult
解析:
前序遍历的顺序是根节点、左子树、右子树。使用递归实现时,先访问当前节点,然后递归访问左子树,最后递归访问右子树。代码中定义了一个内部函数`dfs`,用于递归遍历,最终返回结果列表。
题目2(10分)
题目:请实现一个函数,找出数组中重复的数字。假设数组长度为n,数组中的数字在1到n之间。要求不使用额外空间,时间复杂度为O(n)。
答案:
python
deffind_duplicate(nums):
fornuminnums:
index=abs(num)-1
ifnums[index]0:
returnabs(num)
nums[index]=-nums[index]
return-1
解析:
利用数组本身的存储空间,将每个数字的值作为索引,将对应位置的数字取反。如果遇到已经取反的数字,说明该数字是重复的。这个方法不需要额外空间,时间复杂度为O(n)。
题目3(10分)
题目:请编写一个函数,实现字符串的逆波兰表达式求值。逆波兰表达式是一种后缀表达式,其中每个运算符都在其两个操作数之后。
答案:
python
defeval_reverse_polish_notation(tokens):
stack=[]
fortokenintokens:
iftoken.isdigit()or(token[0]==-andtoken[1:].isdigit()):
stack.append(int(token))
else:
b=stack.pop()
a=stack.pop()
iftoken==+:
stack.append(a+b)
eliftoken==-:
stack.append(a-b)
eliftoken==:
stack.append(ab)
eliftoken==/:
stack.append(int(a/b))
returnstack[0]
解析:
使用栈来处理逆波兰表达式。遇到数字时压入栈,遇到运算符时弹出两个数字进行计算,然后将结果压回栈中。最后栈中剩下的数字就是表达式的结果。
题目4(10分)
题目:请编写一个函数,实现字符串的子串搜索。给定一个字符串`s`和一个子串`p`,返回`p`在`s`中出现的起始索引列表。要求不使用内置函数,如`index`或`find`。
答案:
python
defsubstring_search(s,p):
result=[]
len_s=len(s)
len_p=len(p)
iflen_p==0:
returnresult
foriinrange(len_s-len_p+1):
match=True
forjinrange(len_p):
ifs[i+j]!=p[j]:
match=False
break
ifmatch:
result.append(i)
returnresult
解析:
遍历字符串`s`,对于每个可能的起始位置,检查从该位置开始的子串是否与`p`匹配。如果匹配,则记录该起始位置。这种方法的时间复杂度为O(nm),其中n是`s`的长度,m是`p`的长度。
题目5(10分)
题目:请编写一个函数,实现快速排序算法。要求使用递归方式实现,并返回排序后的数组。
答案:
python
defquick_sort(arr):
iflen(arr)=1:
returnarr
pivot=arr[len(arr)//2]
left=[xforxinarrifxpivot]
middle=[xforxinarrifx==pivot]
right=[xforxinarrifxpivot]
returnquick_sort(left)+middle+quick_sort(right)
解析:
快速排序是一种分治算法。
您可能关注的文档
- 2026年粉丝运营面试题及答案.docx
- 智能硬件研发面试题及电路基础含答案.docx
- 2026年干部考察面试题集.docx
- 股权结构分析与理解测试题.docx
- 2026年翻译质量考核标准及流程.docx
- 2026年程序员职场成长攻略与面试题.docx
- 上药集团法务专员面试题及解析.docx
- 网络安全领域的产品设计专员全题型题库与解析.docx
- 2026年教育行业校长面试题及答案解析.docx
- 物流企业成本控制面试题详解.docx
- 人教版八年级上册历史精品教学课件 第六单元 中华民族的抗日战争 第17课 七七事变与全民族抗战 (6).ppt
- 人教版八年级上册历史精品教学课件 期末专题复习 专题二 中国人民近代化的探索 (2).ppt
- 人教版八年级上册历史精品教学课件 第二单元 近代化的早期探索与民族危机的加剧 第5课 甲午中日战争与列强瓜分中国狂潮 (2).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 大概念引领下的大单元复习 (4).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 第21课 人民解放战争的胜利 (2).ppt
- 人教版八年级上册历史精品教学课件 第三单元 资产阶级民主革命与中华民国的建立 第10课 中华民国的创建 (2).ppt
- 人教版八年级上册历史精品教学课件 第四单元 新民主主义革命的开始 第12课 新文化运动 (3).ppt
- 第四组塑料低温脆化温度测试详解演示文稿.ppt
- 第消费者行为演示文稿.ppt
- 第一部分用搜索方法求解问题演示文稿.ppt
最近下载
- 2026新疆生产建设兵团建设工程(集团)有限责任公司员工招竞聘15人备考题库(第五批次)及参考答案详.docx VIP
- 2025 年美国骨科医师学会(AAOS)肩袖损伤临床实践指南解读.pdf VIP
- 电气设备仿真:电缆仿真_(3).电缆电气参数计算.docx
- 甘肃《民用建筑装配式内装修技术标准》DB62T 3226-2022.doc VIP
- 大型活动安保工作流程与分工.docx VIP
- 《行政执法监督条例》解读课件.pptx VIP
- 陕西省2024年中考数学试卷【附真题答案】.docx VIP
- 基于PLC的新型工业码垛机器人控制系统设计.docx VIP
- 北师大版(2024)八年级上册物理第1~5章共5套单元测试卷汇编(含答案).pdf VIP
- 2026新疆生产建设兵团建设工程(集团)有限责任公司员工招竞聘15人备考题库(第五批次)(含答案详解.docx VIP
原创力文档

文档评论(0)