2026年华为软件开发面试题及答案参考.docxVIP

  • 0
  • 0
  • 约5.72千字
  • 约 15页
  • 2026-01-14 发布于福建
  • 举报

2026年华为软件开发面试题及答案参考.docx

第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

文档评论(0)

1亿VIP精品文档

相关文档