//题目描述:
//输入两个递增排序的链表,合并这两个链表并使新的链表中的节点仍然是递增排序的
public class Solution
{
public ListNode merge2(ListNode listNode1,ListNode listNode2)
{
//一个为空返回另一个
if (listNode1 == null)
return listNode2;
if (listNode2 == null)
return listNode1;
//都不为空的情况下需要一个一个的比较。先比较两个链表的头结点如果 链表1的head.value < 链表2的head.value 那么1的head作为
//新链表的头节点。链表1的下一个节点作为头节点 再次和 链表2比较。 明显的递归过程。
if (listNode1.val < listNode2.val)
{
listNode1.next = merge2(listNode1.next,listNode2);
return listNode1;
}
//节点值相同的情况也走这里
else
{
listNode2.next = merge2(listNode1,listNode2.next);
return listNode2;
}
}
}
《剑指offer》NO25 合并两个排序的链表 详解 <Java实现>
最新推荐文章于 2022-08-05 09:43:21 发布