华为公司软件工程师招聘题目.docxVIP

  • 4
  • 0
  • 约5.89千字
  • 约 17页
  • 2026-04-07 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为公司软件工程师招聘题目

一、编程题(共3题,每题15分,总计45分)

1.(15分)字符串逆序处理

题目:

给定一个字符串`s`,要求不使用额外的字符串变量,原地反转字符串中的所有字符。请编写一个函数实现该功能,并说明时间复杂度和空间复杂度。

示例:

输入:`s=hello`

输出:`olleh`

答案:

python

defreverse_string(s:str)-str:

将字符串转换为列表(因为字符串不可变)

s_list=list(s)

left,right=0,len(s_list)-1

whileleftright:

交换左右字符

s_list[left],s_list[right]=s_list[right],s_list[left]

left+=1

right-=1

将列表转换回字符串

return.join(s_list)

时间复杂度:O(n),空间复杂度:O(1)(忽略输入转换的额外空间)

解析:

-通过双指针法,从字符串两端开始交换字符,直到中间相遇。

-字符串在Python中不可变,因此需要先转换为列表进行操作。

-时间复杂度为O(n),空间复杂度为O(1),因为仅使用固定额外空间。

2.(15分)二叉树遍历

题目:

给定一个二叉树,

文档评论(0)

1亿VIP精品文档

相关文档