当前位置:   article > 正文

合并链表_8580合并链表

8580合并链表

面试题17:合并两个链表

题目:输入两个递增排序的链表,合并这两个链表并使新的链表依然保持递增排序。链表结点定义如下:

struct ListNode

{

int value;

ListNode* next;

}

这个题目在考研里就有属于比较简单的一类,本来不打算写上来看到答案中采用的递归的写法,代码非常的整洁干净一时心动就写了上来。

  1. ListNode* Merge(ListNode* pHead1,ListNode* pHead2)
  2. {
  3. if(pHead1 == NULL)
  4. {
  5. return pHead2;
  6. }
  7. if(pHead2 == NULL)
  8. {
  9. return pHead1;
  10. }
  11. ListNode* pMergeHead = NULL;
  12. if(pHead1->value < pHead2->value)
  13. {
  14. pMergedHead = pHead1;
  15. pMergedHead->next = Merge(pHead1->next,pHead2);
  16. }
  17. else
  18. {
  19. pMergedHead = pHead2;
  20. pMergedHead->next = Merge(pHead1,pHead2->next);
  21. }
  22. return pMergedHead;
  23. }

确实递归的代码看起来真的很舒服和简洁。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/761738
推荐阅读
相关标签
  

闽ICP备14008679号