Skip to content

Latest commit

 

History

History
9 lines (5 loc) · 747 Bytes

File metadata and controls

9 lines (5 loc) · 747 Bytes

合并两个有序的单链表

  1. 链表1声明两个指针a1、b1,b1指向第一个node,a1指向b1之前的node,链表2声明两个指针a2、b2,指向头元素,然后b1遍历找到第一个大于b2的元素,如果找不到,说明list1所有元素都比list2小,那么把a1.next指向a2,返回head1;
  2. b2遍历找到第一个大于b1的元素的前一个元素,如果找不到,那么b2.next将为null,记录temp=b2.next将b2.next指向b1,如果a1不为null,将a1.next指向a2,如果a1为null,说明list1头元素比list2所有元素都大,那么将head1指向a2,最后a2=b2=temp;
  3. 重复如上步骤,直到b2==null

简单理解,就是每次找到一个区间a2-b2,可以插入a1-b1中间。