1级标题 刷题剑指java,合并有序链表
题目:输入有序递增两个链表,将链表合并,且新链表递增有序。
方法:递归
注意:避免插入空链表
代码
基本链表节点
class ListNode{
int val;
ListNode next;
public ListNode(int a) {
this.val=a;
}
}
递归合并:
一个链表是空链表就把其和另一个链表合并,合并结果就是另一个链表。
public ListNode Merge(ListNode p1,ListNode p2) {
if(p1==null)return p2;
if(p2==null)return p1;
ListNode head;
if(p1.val<p2.val) {
head=p1;
head.next=Merge(p1.next,p2);
}
else {
head=p2;
head.next=Merge(p1,p2.next);
}
return head;
}