2026年软件工程师面试笔试模拟题及答案详解.docxVIP

  • 1
  • 0
  • 约9.33千字
  • 约 27页
  • 2026-07-03 发布于福建
  • 举报

2026年软件工程师面试笔试模拟题及答案详解.docx

第PAGE页共NUMPAGES页

2026年软件工程师面试笔试模拟题及答案详解

一、编程题(共5题,每题15分,总分75分)

1.编程题:字符串反转(15分)

题目:

编写一个函数,将输入的字符串反转,不使用内置的反转函数。例如,输入`hello`,输出`olleh`。

要求:

-时间复杂度O(n)

-空间复杂度O(1)

示例代码(Python):

python

defreverse_string(s:str)-str:

实现代码

答案与解析:

python

defreverse_string(s:str)-str:

将字符串转换为列表,因为列表可以原地修改

chars=list(s)

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

whileleftright:

交换左右指针对应的字符

chars[left],chars[right]=chars[right],chars[left]

left+=1

right-=1

return.join(chars)

解析:

-时间复杂度:遍历字符串一次,为O(n)。

-空间复杂度:虽然将字符串转换为列表需要O(n)空间,但题目允许不使用内置函数,因此此方法合理。若严格限制空间,可使用双指针原地修改字符串(Python中字符串不可变,需转换为

文档评论(0)

1亿VIP精品文档

相关文档