2 u010814878 u010814878 于 2013.10.01 18:29 提问

如何用递归算法实现2个有序链表的合并?

stu* Combine(stu* head1, stu* head2)
{

if (head1 == NULL)
{
    return head2;
}
if (head2 == NULL)
{
    return head1;
}
stu* head = NULL;
if (head1->m_score < head2->m_score)
{
    head = head2;
    head->next = Combine(head1,head2->next);
}
else
{
    head = head1;
    head->next = Combine(head1->next, head2);
}
return head;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
leetcode 合并2个有序链表
我还以为不能新创建节点,原来是可以的,那就很简单了,注意判断NULL就好 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* mergeTwoLists(struct L
单链表操作之合并两个有序单链表---递归 and 非递归实现
问题提出: 现有无头结点有序单链表pHead1和无头结点有序单链表pHead2,要求将两个链表合并后依然有序。 如:   pHead1 为 1 3 5 7 9          pHead2 为 2 4 6 8 10         合并后    为1 2 3 4 5 6 7 8 9 问题解决: (1)递归实现 1.对空链表存在的情况进行处理,
LeetCode 21. 合并两个有序链表
题目描述: 合并两个有序链表        合并两个已排序的链表,并将其作为一个新列表返回。新列表应该通过拼接前两个列表的节点来完成。 示例:输入:1-&amp;gt;2-&amp;gt;4, 1-&amp;gt;3-&amp;gt;4 输出:1-&amp;gt;1-&amp;gt;2-&amp;gt;3-&amp;gt;4-&amp;gt;4解题思路:        先判断空链表的情况,然后对l1,l2排序(小的在前),然后把l2一次插入。代码:/** * Def...
Merge Two Sorted Lists 合并两个有序链表@LeetCode
之前做过这道题,没有用递归,做的非常痛苦。我就在想这是Level2的题怎么会怎么麻烦。。 果然用了递归变得非常简洁!以后优先选择递归的解法(特别是链表和树的题目),如果不行再用迭代! package Level2; import Utility.ListNode; /** * Merge Two Sorted Lists * * Merge two sorted linke
面试之路(29)-合并两个排序的链表(递归和非递归)
链表的类:class ListNode{ int key; ListNode next; }思路: 这个和数组不一样,不需要采用双指针,从后往前来 代码:递归public ListNode merge(ListNode head1,ListNode head2){ if(head1 == null){ return he
合并两个有序链表的递归与非递归
1.递归 node * MergeRecursive(node *head1, node *head2) { node *head = NULL; if (head1 == NULL) { return head2; } if (head2 == NUL) { return head1; } if ( head1->data data ) { head = head1 ; he
leetcode_效率题解_[python/C++]_21. Merge Two Sorted Lists(合并2个有序链表)
相关题解: leetcode_效率题解_23. Merge k Sorted Lists(合并k个有序链表)题目链接 【题目】 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two
Java 非递归 和非递归方法 实现两个有序单链表的合并
Java实现两个有序链表的合并 链表结构如下: 非递归实现代码: 递归实现: 参考链接: https://discuss.leetcode.com/topic/27564/my-ac-java-solution https://discuss.leetcode.com/category/29/merge-two-sorted-lists
合并两个有序链表——递归实现和非递归实现
      先看代码的实现:#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; //链表存储结构 typedef struct Node { int number; struct Node * next; }Node; typedef struct Node * LinkList; void createListHead(LinkList * p...
leetcode解题之23.Merge k Sorted Lists Java版本(合并k个有序的链表)
leetcode解题之23.Merge k Sorted Lists Java版本(合并k个有序的链表)