已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
2014-12-31 14:56
357 查看
递归比较两个链表的头部。
我采用的是递归方法,还有非递归的方法。
#include <iostream>#include <string.h>
struct node
{
int data;
node *next;
};
node *MergeRecursive(node *head1, node *head2)
{
node *head = NULL;
if (head1 == NULL)
{
return head2;
}
if (head2 == NULL)
{
return head1;
}
if (head1->data < head2->data)
{
head = head1 ;
head->next = MergeRecursive(head1->next,head2);
}
else
{
head = head2 ;
head->next = MergeRecursive(head1,head2->next);
}
return head ;
}
相关文章推荐
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,要求用递归方法进行。
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。使用非递归方法以及递归方法。
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,要求用递归方法进行。
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)
- 用递归方法实现两个链表head1和head2各自有序,请把它们合并成一个链表仍然有序。(c/c++)
- 链表操作(将两个链表合并成一个链表依然有序,非递归方法和迭代方法)
- 已知两个链表 la和 lb,其元素值递增排序。编程将la和lb合并成一个递减有序(相同值元素只保留一个)的链表lc。(北方名校经典试题) 本题选做
- 将两个有序链表head1 head2,合并为一个链表
- 探讨:将两个链表非降序合并为一个链表并依然有序的实现方法
- 递归实现合并两个有序链表成一个链表依然有序
- 两个有序链表合并为一个链表
- 给你两个有序链表,编写一个函数,把两个链表合并成一个新的有序链表,返回头指针
- 数据结构——算法之(033)(两个有序单链表合并为一个有序的单链表)
- 合并两个有序链表后组成一个更大一个有序链表
- 两个有序链表合并为一个有序链表