16-合并两个排序的链表
1. 题目描述
2. 题解
-------------------------------------------------------【2021-08-07】更新------------------------------------------------
/* 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 res; if(list1.val<=list2.val) { res=new ListNode(list1.val); list1=list1.next; } else { res=new ListNode(list2.val); list2=list2.next; } ListNode tmp=res;//保存头节点 while((list1!=null)&&(list2!=null)) { if(list1.val<=list2.val) { tmp.next=new ListNode(list1.val); tmp=tmp.next; list1=list1.next; } else { tmp.next=new ListNode(list2.val); tmp=tmp.next; list2=list2.next; } } while(list1!=null) { tmp.next=new ListNode(list1.val); tmp=tmp.next; list1=list1.next; } while(list2!=null) { tmp.next=new ListNode(list2.val); tmp=tmp.next; list2=list2.next; } return res; } }