Node * Merge(Node *head1 , Node *head2)
{
if (head1 == NULL)
return head2;
if (head2 == NULL)
return head1;
Node *head, *p1, *p2;
if (head1->data < head2->data)
{
head = head1;
p1 = head1->next;
p2 = head2;
}
else
{
head = head2;
p2 = head2->next;
p1 = head1;
}
Node *pcurrent = head;
while (p1 != NULL && p2 != NULL)
{
if (p1->data <= p2->data)
{
pcurrent->next = p1;
pcurrent = p1;
p1 = p1->next;
}
else
{
pcurrent->next = p2;
pcurrent = p2;
p2 = p2->next;
}
}
if (p1 != NULL)
pcurrent->next = p1;
if (p2 != NULL)
pcurrent->next = p2;
return head;
}
分享到:
相关推荐
两个有序链表的合并pta本文详细介绍了合并两个有序链表的算法原理、实现步骤、代码示例以及性能分析。通过掌握这一算法,我们可以更加高效地处理有序链表数据,提高程序的性能和可靠性。未来,随着数据规模的扩大和...
数据结构之合并两个有序链表PPT动画演示
合并两个有序链表.md
c语言链表的基本操作 c语言链表的基本操作之合并两个有序链表
合并两个有序链表(java代码).docx
示例 2:输出:[]示例 3:输出:[]* Definition for singly-linked list.//以合并两个有序链表为基础ListNode*
主要介绍了c++ 如何合并两个有序链表,帮助大家更好的理解和学习C++,感兴趣的朋友可以了解下
主要介绍了Python实现合并两个有序链表的方法,涉及Python操作链表节点的遍历、判断、添加等相关操作技巧,需要的朋友可以参考下
c语言 c语言_c语言编程基础之leetcode题解第21题合并两个有序链表
c++ c++_c++编程基础之leetcode题解第21题合并两个有序链表
21. 合并两个有序链表瞎写的不带头结点的方法def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> Li
本文实例讲述了JS实现的合并两个有序链表算法。分享给大家供大家参考,具体如下: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4...
当提到“两个有序链表的合并PTA”时,这通常意味着在PTA平台上解决一个特定的问题,即合并两个有序链表。具体任务可能是给定两个已按升序排序的链表,要求编写代码来合并这两个链表,形成一个新的有序链表。
何将两个有序链表并为一个有序链表。
两个有序链表的合并pta
# 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的 # 示例: # 输入:1->2->4, 1->3->4 # 输出:1->1->2->3->4->4
两个有序链表的合并pta 解法1:迭代思路:首先创建一个 pre_head 节点,并用 cur 指针指向它,这个 pre_head 用于之后指向 list1 和 list2 中的第一个节点,而不是指向新生成的节点,因此空间复杂度为O(1)。接下来...
两个有序链表的合并pta