- 0
- 0
- 约6.14千字
- 约 18页
- 2026-02-09 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为软件开发工程师面试问题及答案参考
一、编程基础(共3题,每题10分)
1.题目:
编写一个函数,实现二叉树的深度优先遍历(前序遍历),并返回遍历结果列表。假设二叉树节点定义如下:
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
示例输入:
python
构建一个示例二叉树:
1
/\
23
/\
45
root=TreeNode(1)
root.left=TreeNode(2)
root.right=TreeNode(3)
root.left.left=TreeNode(4)
root.left.right=TreeNode(5)
示例输出:`[1,2,4,5,3]`
答案与解析:
python
defpreorder_traversal(root):
ifnotroot:
return[]
result=[]
stack=[root]
whilestack:
node=stack.pop()
result.append(node.val)
ifnode.right:
stack.append(node.right)
ifnode.left:
stack.append(node.left)
returnresult
解析:
前序遍历的顺序是“根-左-右”,使用栈实现时,先访问当前节点,然后右子节点先入栈,左子节点后入栈,确保左子节点先被处理。
2.题目:
给定一个字符串,找出其中不重复的最长子串的长度。例如:
输入:`abcabcbb`
输出:`3`(最长不重复子串为abc)
答案与解析:
python
deflength_of_longest_substring(s):
char_set=set()
left=0
max_len=0
forrightinrange(len(s)):
whiles[right]inchar_set:
char_set.remove(s[left])
left+=1
char_set.add(s[right])
max_len=max(max_len,right-left+1)
returnmax_len
解析:
使用滑动窗口技术,`left`和`right`分别表示窗口的左右边界。当遇到重复字符时,移动`left`并移除对应字符,直到窗口内无重复字符。
3.题目:
实现一个LRU(最近最少使用)缓存,支持`get`和`put`操作。缓存容量为3。例如:
python
LRUCache=LRUCache(3)
LRUCache.put(1,1)#缓存是{1=1}
LRUCache.put(2,2)#缓存是{1=1,2=2}
LRUCache.get(1)#返回1
LRUCache.put(3,3)#去除键2
LRUCache.get(2)#返回-1(未找到)
LRUCache.put(4,4)#去除键1
LRUCache.get(1)#返回-1(未找到)
LRUCache.get(3)#返回3
LRUCache.get(4)#返回4
答案与解析:
python
classLRUCache:
def__init__(self,capacity:int):
self.capacity=capacity
self.cache={}
self.order=[]
defget(self,key:int)-int:
ifkeyinself.cache:
self.order.remove(key)
self.order.append(key)
returnself.cache[key]
return-1
defput(self,key:int,value:int)-None:
ifkeyinself.cache:
self.order.remove(key)
eliflen(self.cache)=self.capacity:
oldest_key=self.order.pop(0)
delself.cache[oldest_key]
self.cache[key]=value
self.order.append(key)
解析
您可能关注的文档
- 公司融资中资本运作岗位的面试问题集.docx
- 建筑工程面试题及答案.docx
- 教育行业系统架构师面接题库.docx
- 建筑设计师助理面试技巧与题目.docx
- 2026年副主任医师晋升考试题库.docx
- 社交媒体运营面试题及账号运营案例含答案.docx
- 系统架构师考试题集.docx
- 2026年房地产经纪人实战指南专业面试题库与解析.docx
- 中国建筑集团项目经理面试题库及答案参考.docx
- 教育行业课程设计师面试题.docx
- 《GB/T 46962-2026印刷技术 安全印刷过程管理》.pdf
- 中国国家标准 GB/T 46962-2026印刷技术 安全印刷过程管理.pdf
- GB/T 46962-2026印刷技术 安全印刷过程管理.pdf
- 中国国家标准 GB/T 32580.5-2026轨道交通 地面装置 高压交流开关设备及互感器 第5部分:27.5 kV和2×27.5 kV金属封闭开关设备和控制设备.pdf
- 《GB/T 32580.5-2026轨道交通 地面装置 高压交流开关设备及互感器 第5部分:27.5 kV和2×27.5 kV金属封闭开关设备和控制设备》.pdf
- GB/T 33248-2026印刷技术 胶印橡皮布.pdf
- GB/T 18282.6-2026医疗产品灭菌 化学指示物 第6部分:用于小型蒸汽灭菌器性能测试的二类指示物和过程挑战装置.pdf
- 中国国家标准 GB/T 18282.6-2026医疗产品灭菌 化学指示物 第6部分:用于小型蒸汽灭菌器性能测试的二类指示物和过程挑战装置.pdf
- 中国国家标准 GB/T 31308.1-2026行政、商业和行业中的数据元、过程和文档 长效签名 第1部分:CMS高级电子签名(CAdES)规范.pdf
- GB/T 31308.1-2026行政、商业和行业中的数据元、过程和文档 长效签名 第1部分:CMS高级电子签名(CAdES)规范.pdf
最近下载
- (人教版2026新教材)数学一年级下册全册教材分析 课件.pptx
- 注射用硫酸艾沙康唑(康新博)中文说明书.pdf
- 初中数学八上-第十一章 实数和二次根式(压轴专练)(六大题型50道)(原卷版).pdf VIP
- 2021年NICE指南医患共同决策.pdf VIP
- 深度解析(2026)《GBT 10592-2023高低温试验箱技术条件》.pptx VIP
- 23.《“蛟龙”探海》课件 (共24张ppt)统编版语文七年级下册.pptx VIP
- 爱登堡电梯EDVF60/70调试、使用、维护说明(V1.0).pdf
- 舒适状况量表(GCQ).pdf VIP
- (正式版)D-L∕T 872-2016 小电流接地系统单相接地故障选线装置技术条件.docx VIP
- ECMO在ICU临床应用现状及展望护理课件.pptx VIP
原创力文档

文档评论(0)