题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点人是按照递增排序的。解题思路:两个链表分别都已经是有序的了,遍历链表的时候只要比较两个链表当前位置大小,取出最小的添加到新链表中。 可以有递归、循环两种方式来解决。 ...
分类:
编程语言 时间:
2017-07-30 12:38:44
阅读次数:
200
当代码试图訪问空指针指向的内存时程序就会崩溃,从而导致鲁棒性问题。所以要对空链表单独处理。 ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if (pHead1 == NULL) return pHead2; else if (pHead2 ...
分类:
编程语言 时间:
2017-07-01 09:57:52
阅读次数:
193
题目 输入两个递增排序的链表, 合并这两个链表并使新链表中的结点仍然是依照递增排序的. ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if (pHead1 == NULL) return pHead2; else if (pHead2 = ...
分类:
编程语言 时间:
2017-06-26 21:18:39
阅读次数:
168
题目描述:输入两个单调递增的链表list1,list2,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 题目分析: 1.对于链表题目,首先考虑边界情况,即链表为空的情况,提升代码的鲁棒性。 2.合并完一个结点后,剩余的链表仍然是有序的,再合并下一个结点时的过程是一样的,这是一种 ...
分类:
编程语言 时间:
2017-06-10 20:33:58
阅读次数:
178
错误代码: 最后两个if语句的目的是,最后一次迭代,两个链表中剩下的直接连接最后一次比较的数值,同时也是迭代停止的标志。虽然大if语句中比较大小得到的Node是正确的值,但每次迭代只要pHead2不为NULL都要改变正确的Node值为pHead2的值。 ...
分类:
编程语言 时间:
2017-05-21 21:50:21
阅读次数:
134
首先统一链表的数据结构为: struct ListNode { int val; struct ListNode *next; ListNode(int x) :val(x), next(NULL) {} }; 题目一:从尾到头打印链表:输入一个链表。从尾到头打印链表每一个节点的值。 分析: 难点在 ...
分类:
其他好文 时间:
2017-05-05 10:41:41
阅读次数:
213
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ ...
分类:
编程语言 时间:
2016-12-09 15:47:25
阅读次数:
144
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增的。例如:/*合并两个排序的链表*/
/*
链表节点定义如下:
structListNode
{
int_data;
ListNode*_next;
};
*/
ListNode*MergeList(ListNode*pHead1,ListNode*pHead2)
{
if(pHead1==NULL)//链表1..
分类:
编程语言 时间:
2016-10-22 00:51:22
阅读次数:
202
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 ...
分类:
编程语言 时间:
2016-09-17 11:54:43
阅读次数:
298
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:可以有两种实现方法,第一种是通过递归来实现,第二种是通过非递归来实现。 非递归: ...
分类:
编程语言 时间:
2016-08-29 22:13:47
阅读次数:
126