剑指offer--合并两个递增链表

来源:互联网 发布:c 网络爬虫原理 编辑:程序博客网 时间:2024/05/22 14:04

//思路:比较两个链表的头结点,小的为新链表的头结点,剩下的用递归调用即得到新的排序链表

public class Merge {

/*
* 输入两个递增的链表,合并这两个链表并使新链表仍然是递增的
*/
public ListNode merge(ListNode root1,ListNode root2)
{
if(root1==null)
return root2;
else 
if(root2==null)
return root1;
ListNode mergeHead=null;
if(root1.data<=root2.data)
{
mergeHead=root1;
mergeHead.nextNode=merge(root1.nextNode,root2);
}
else {
mergeHead=root2;
mergeHead.nextNode=merge(root1,root2.nextNode);
}
return mergeHead;
}
}
class ListNode
{
int data;
ListNode nextNode;
}
0 0