题干: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
题解: 先设置一个新链表的头节点,然后依次判断l1和l2链表中值的大小,如果有一个链表为空就跳出循环,然后把没空的那一个链表加到新链表的后面
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode head = new ListNode(0);
ListNode cur = head;
while(l1!=null&&l2!=null){
if(l1.val<=l2.val){
cur.next=l1;
cur=l1;
l1=l1.next;
}else{
cur.next=l2;
cur=l2;
l2=l2.next;
}
}
if(l1==null){
for(ListNode p=l2;p!=null;p=p.next){
cur.next=p;
cur=p;
}
}else{
for(ListNode p=l1;p!=null;p=p.next){
cur.next=p;
cur=p;
}
}
return head.next;
}
}