合并两个有序的链表

参考答案

合并两个有序的链表:

1.  设链表结点结构为Node(int data, Node *next),typedef Node List,链表均带表头结点。

2.  具体实现思路:

  • 把list1中的元素看成是集合1,把list2中的元素看成是集合2;
  • 把list1头结点(即list1结点)从集合1中脱离下来看成是目标集合的头结点;
  • 目标集合开始时是空集,并用last指针始终指向该集合的尾部,然后每次从集合1和集合2中取各自的第一个元素进行比较;
  • 较小者从相应集合里脱离,插入到目标集合list1的尾部即last的末尾;
  • 并将刚插入的元素作为目标集合list1的新的last,直到集合1为空或集合2为空时结束;
  • 最后将未空的集合中的剩余元素链接到last后面即可。

 

以上,是Java面试题【合并两个有序的链表】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧