合并两个有序链表

爱被打了一巴掌 2023-07-13 10:51 147阅读 0赞

一 思路

按老师上课讲的,先用其他链表记录两个链表共有部分,然后判断谁null,再接上另一个

二 代码

  1. class Solution(object):
  2. def mergeTwoLists(self, l1, l2):
  3. """
  4. :type l1: ListNode
  5. :type l2: ListNode
  6. :rtype: ListNode
  7. """
  8. l = ListNode(0)
  9. l3 = l
  10. while l1 and l2:
  11. if l1.val < l2.val:
  12. l3.next = l1
  13. l1 = l1.next
  14. else:
  15. l3.next = l2
  16. l2 = l2.next
  17. l3 = l3.next
  18. if l1:
  19. l3.next = l1
  20. else:
  21. l3.next = l2
  22. return l.next

这部分不能有#的东西,不然发不出来
在这里插入图片描述

三 分析

不知道能不能用merge这个函数迭代出来,我觉得可以更加简单,但是没有研究出来。。。。我做的这个感觉很麻烦,一个迭代,一个记录初始节点,我也没有找到能优化的

发表评论

表情:
评论列表 (有 0 条评论,147人围观)

还没有评论,来说两句吧...

相关阅读

    相关 合并有序

    合并两个有序链表 1、题目 题目要求:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输