软件工程师算法设计面试题含答案.docxVIP

  • 0
  • 0
  • 约4.8千字
  • 约 13页
  • 2026-03-23 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年软件工程师算法设计面试题含答案

一、编程实现题(共3题,每题20分)

1.题1(20分):

题目:

设计一个函数,实现字符串的“翻转单词顺序”功能,但保持每个单词内部字符顺序不变。例如,输入`helloworld`,输出`worldhello`。要求不使用额外的数据结构(如数组或列表),且时间复杂度为O(n)。

答案:

python

defreverse_words(s:str)-str:

ifnots:

return

先翻转整个字符串

s=s[::-1]

start=0

result=[]

fori,charinenumerate(s):

ifchar==:

result.append(s[start:i][::-1])

start=i+1

result.append(s[start:][::-1])#处理最后一个单词

return.join(result)

解析:

1.首先翻转整个字符串,例如`helloworld`变为`dlrowolleh`。

2.然后遍历翻转后的字符串,按空格分割单词,并在添加到结果前再次翻转每个单词(因为整体已翻转)。

3.最后拼接结果。时间复杂度为O(n),空间复杂度为O(n)(由于字符串不可变,需要额外

文档评论(0)

1亿VIP精品文档

相关文档