首页 > 代码库 > Merge Two Sorted Lists

Merge Two Sorted Lists

以前做过合并数组,这次是合并链表,写起来很快,第一次提交,忘记new一个listNode的时候传参数,导致编译错误,修改完这个错误后就没问题了,代码因该是很简单的。

 

需要注意的是,凡是sorted的,都是从小到大排列,另外leetcode上面的链表都没有尾巴,便利的时候需要注意。

 1 /** 2  * Definition for singly-linked list. 3  * public class ListNode { 4  *     int val; 5  *     ListNode next; 6  *     ListNode(int x) { 7  *         val = x; 8  *         next = null; 9  *     }10  * }11  */12 public class Solution {13     public ListNode mergeTwoLists(ListNode l1, ListNode l2) {14         ListNode mergehead=new ListNode(0);15         ListNode p=mergehead;16         ListNode p1=l1;17         ListNode p2=l2;18         if(p1==null&&p2==null){19             return null;20         }21         while(p1!=null||p2!=null){22             int v1=0;23             if(p1!=null&&p2!=null){24                  ListNode newNode=new ListNode(p1.val>p2.val?p2.val:p1.val);25                  p.next=newNode;26                  p=newNode;27                  if(p1.val>p2.val){28                       p2=p2.next;29                  }else{30                       p1=p1.next;31                  }32             }else{33                 if(p1==null){34                     ListNode newNode=new ListNode(p2.val);35                     p.next=newNode;36                     p=newNode;37                     p2=p2.next;38                 }else{39                     ListNode newNode=new ListNode(p1.val);40                     p.next=newNode;41                     p=newNode;42                     p1=p1.next;43                 }44             }45         }46         return mergehead.next;47     }48 }

 

Merge Two Sorted Lists