- 0
- 0
- 约5.72千字
- 约 15页
- 2026-01-14 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为软件开发面试题及答案参考
一、编程实现题(共3题,每题15分,总分45分)
1.题目(15分):
编写一个函数,实现二叉树的层序遍历(广度优先遍历),并返回遍历结果列表。假设二叉树节点定义如下:
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
要求:
-使用队列实现层序遍历,不能递归。
-输出遍历结果为列表形式,如`[1,2,3,4,5]`。
答案与解析:
python
fromcollectionsimportdeque
deflevel_order(root):
ifnotroot:
return[]
result=[]
queue=deque([root])
whilequeue:
node=queue.popleft()
result.append(node.val)
ifnode.left:
queue.append(node.left)
ifnode.right:
queue.append(node.right)
returnresult
解析:
-使用`deque`实现队列,支持高效的前端插入和删除操作。
-初始将根节点入队,通过循环弹出节点并记录其值,同时将左右子节点入队,实现按层级遍历。
-时间复杂度O(n),空间复杂度O(n),适用于大规模二叉树。
2.题目(15分):
实现一个LRU(最近最少使用)缓存,支持`get`和`put`操作。缓存容量为`capacity`,使用哈希表和双向链表结合实现。
要求:
-`get(key)`返回键对应的值,若不存在返回-1。
-`put(key,value)`将键值对插入缓存,若已存在则更新值并移动到头部,超出容量则删除链表尾部节点。
答案与解析:
python
classLRUCache:
classNode:
def__init__(self,key=0,value=0):
self.key=key
self.value=value
self.prev=None
self.next=None
def__init__(self,capacity:int):
self.capacity=capacity
self.cache={}
self.head=self.Node(0,0)
self.tail=self.Node(0,0)
self.head.next=self.tail
self.tail.prev=self.head
def_add_node(self,node):
node.prev=self.head
node.next=self.head.next
self.head.next.prev=node
self.head.next=node
def_remove_node(self,node):
prev_node=node.prev
next_node=node.next
prev_node.next=next_node
next_node.prev=prev_node
def_move_to_head(self,node):
self._remove_node(node)
self._add_node(node)
def_pop_tail(self):
res=self.tail.prev
self._remove_node(res)
returnres
defget(self,key:int)-int:
node=self.cache.get(key,None)
ifnotnode:
return-1
self._move_to_head(node)
returnnode.value
defput(self,key:int,value:int)-None:
node=self.cache.get(key)
ifnotnode:
newNode=self.Node(key,value)
self.cache[key]=newNode
self._add_node(newNode)
iflen(self.cache)self.capacity:
tail=self._pop_tail()
delself.cache[tail.key
您可能关注的文档
最近下载
- Leisai雷赛智能控制 数字式两相步进驱动器 DM422(V3.0) M542 使用说明书.pdf
- 租房合同范本下载(可直接打印).pdf VIP
- 《巴洛克时期工艺美术》.ppt VIP
- 监控系统维护保养记录表.doc VIP
- 2023年高考历史试卷(浙江)(6月)(解析卷).doc VIP
- 二型糖尿病肾病护理查房ppt课件.pdf VIP
- 铁路运输安全管理概述.pptx VIP
- 2025年陕西省普通高校职业教育单独招生考试语文真题(含答案)2025.pdf VIP
- 浙江省宁波市宁波九校2023-2024学年高二上学期1月期末数学试题 Word版含解析.docx VIP
- 社会支持量表:信度与效度的研究.docx VIP
原创力文档

文档评论(0)