解题思路
因为是排好序的所以我们可以让两个链表的数进行比较,用另外一个链表存储两个链表中较小的数,同时还应该注意链表为空的情况,以及比较过程中一方为空的情况。
问题描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
代码实现
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null){ return list2; } if(list2==null){ return list1; } ListNode tempNode = new ListNode(-1); ListNode mergeNode = tempNode; while(list1!=null&&list2!=null){ if(list1.val<list2.val){ tempNode.next = list1; list1 = list1.next; } else{ tempNode.next = list2; list2 = list2.next; } tempNode = tempNode.next; if(list1==null){ tempNode.next = list2; } if(list2==null){ tempNode.next = list1; } } return mergeNode.next; } }