合并两个排序链表
Posted 雪浪snowWave
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并两个排序链表相关的知识,希望对你有一定的参考价值。
题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:扫一遍维护递增,最后再添加原链表可能未被添加的部分
public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null&&list2==null) return null; if(list1==null&&list2!=null) return list2; if(list1!=null&&list2==null) return list1; ListNode res1=new ListNode(-1); ListNode res=res1; //要有两个指针指向创建的头结点,一个指针会走到末尾,返回的时候已经不能用了 while(list1!=null&&list2!=null){ if(list1.val<=list2.val){ res.next=list1; res=res.next; list1=list1.next; }else{ res.next=list2; res=res.next; list2=list2.next; } } while(list1 != null) { res.next = list1; res = res.next; list1 = list1.next; } while(list2 != null) { res.next = list2; res = res.next; list2 = list2.next; } return res1.next; }
以上是关于合并两个排序链表的主要内容,如果未能解决你的问题,请参考以下文章