2026年软件工程师面试全解析及答案参考.docxVIP

  • 0
  • 0
  • 约8.64千字
  • 约 30页
  • 2026-10-29 发布于福建
  • 举报

2026年软件工程师面试全解析及答案参考.docx

第PAGE页共NUMPAGES页

2026年软件工程师面试全解析及答案参考

一、编程基础(共5题,每题10分)

题目1(数据结构与算法-链表)

编写一个函数,实现合并两个有序链表,并返回合并后的新链表头节点。链表节点定义如下:

python

classListNode:

def__init__(self,val=0,next=None):

self.val=val

self.next=next

要求:

-时间复杂度O(n)

-空间复杂度O(1)

答案:

python

defmergeTwoLists(l1,l2):

dummy=ListNode(0)

current=dummy

whilel1andl2:

ifl1.val=l2.val:

current.next=l1

l1=l1.next

else:

current.next=l2

l2=l2.next

current=current.next

ifl1:

current.next=l1

ifl2:

current.next=l2

returndummy.next

解析:

-使用虚拟头节点`dummy`方便操作,避免处理边界情况。

-双指针遍历两个链表,选择较小值节点接入新链表。

-时间复杂度O(n),空间复杂度O(

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档