华为技术面试题集.docxVIP

  • 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)

解析:

快速排序是一种分治算法。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档