程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

剑指Offer(Python多种思路实现):合并两个排序的链表

发布于2020-02-25 12:04     阅读(940)     评论(0)     点赞(5)     收藏(0)


面试25题:
题目:合并两个排序的链表

题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

解题思路一:递归,并需注意对空链表单独处理。

  1. class Solution:
  2. # 返回合并后列表
  3. def Merge(self, pHead1, pHead2):
  4. # write code here
  5. if not pHead1:
  6. return pHead2
  7. elif not pHead2:
  8. return pHead1
  9. pMergedHead=None
  10. if (pHead1.val<pHead2.val):
  11. pMergedHead=pHead1
  12. pMergedHead.next=self.Merge(pHead1.next,pHead2)
  13. else:
  14. pMergedHead=pHead2
  15. pMergedHead.next=self.Merge(pHead1,pHead2.next)
  16. return pMergedHead

解题思路二:迭代

  1. def mergeTwoLists(l1, l2):
  2. l = head = ListNode(0)
  3. while l1 and l2:
  4. if l1.val <= l2.val:
  5. l.next, l1 = l1, l1.next
  6. else:
  7. l.next, l2 = l2, l2.next
  8. l = l.next
  9. l.next = l1 or l2
  10. return head.next

 

发布了53 篇原创文章 · 获赞 4 · 访问量 2万+


所属网站分类: 技术文章 > 博客

作者:骏马

链接:https://www.pythonheidong.com/blog/article/233203/a9bcb52fc1f6cfd54bc8/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)