题目:合并两个排序好的链表
这个题目的关键是增加一个头指针和边界条件的判断。
下面贴出代码:
/**
* 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);
head.next=l1;
ListNode p1=l1,q1=l2;
ListNode p2=head;
ListNode q2;
while(p1!=null&&q1!=null){
if(p1.val>q1.val){
q2=q1;
q1=q1.next;
p2.next=q2;
q2.next=p1;
p2=q2;
}else{
p1=p1.next;
p2=p2.next;
}
}
if(q1!=null){
p2.next=q1;
}
return head.next;
}
}