/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode temp = head; ListNode p = l1; ListNode q = l2; while(p!=null && q != null){ if(p.val < q.val){ temp.next = p; p = p.next; temp = temp.next; }else{ temp.next = q; q = q.next; temp = temp.next; } } while(p != null){ temp.next = p; p = p.next; temp = temp.next; } while(q != null){ temp.next = q; q = q.next; temp = temp.next; } return head.next; } }