21. 合并两个有序链表
so easy。
/**
* 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 list1, ListNode list2) {
ListNode head = new ListNode();
ListNode p=list1, q=list2, r, r1 = head;;
while(p!=null && q!=null) {
if(p.val > q.val) {
r = q.next;
r1.next = q;
r1 = q;
q = r;
}
else {
r = p.next;
r1.next = p;
r1 = p;
p = r;
}
}
if(p != null){
r1.next = p;
}
else {
r1.next = q;
}
return head.next;
}
}