LeetCode 21 synthesizes two ordered linked lists

insert image description here
original address

Simple question ~ the double pointer method is completed.

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    
    
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
    
    
        ListNode p1,p2,p3;
        p1 = l1;
        p2 = l2;
        ListNode res = new ListNode();
        p3 = res;
        while(p1!=null || p2!=null){
    
    
            if(p1==null||(p2!=null&&p2.val<=p1.val)){
    
    
                p3.next = new ListNode(p2.val,null);
                p3 = p3.next;
                p2 = p2.next;
            }
            else if(p2 ==null||(p2!=null&&p1.val<p2.val)){
    
    
                p3.next = new ListNode(p1.val,null);
                p3 = p3.next;
                p1 = p1.next;

            }

        }
        return res.next;
    }
}

Guess you like

Origin blog.csdn.net/rglkt/article/details/113791895