合并两个排序的链表

题目描述:

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

解析:

关键是对链表的结构要有所了解,通过一个next指针能定位到下一个节点的位置。

代码:

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode Merge(ListNode list1,ListNode list2) {
       ListNode head = new ListNode(-1);
       ListNode cur = head;
       while(list1!=null && list2!=null){
           if(list1.val>list2.val){
               cur.next=list2;
               list2=list2.next;
           }else{
               cur.next = list1;
               list1 = list1.next;
           }
           cur = cur.next;
       }
        if(list1!=null)
            cur.next = list1;
        if(list2!=null)
            cur.next = list2;
        return head.next;
    }
}

你可能感兴趣的:(合并两个排序的链表)