给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 46 ...
分类:
其他好文 时间:
2018-08-30 12:25:44
阅读次数:
227
升序有重复,删除重复结点,重复的值保留一次,指针联动,不用考虑链表头指针,因为链表升序排列如果有重复那只删除后面重复的data,和头指针无关,也要遍历 完整条链表
分类:
其他好文 时间:
2018-08-03 11:34:52
阅读次数:
143
1.写了算法课关于有向图的作业。 用c++开辟大数组容易出segment fault,后来改用堆开辟。图的邻接表用了链表表示。 2.关于图的存储,用了邻接链表存储(用链表比vector数组存储速度快多了)。 2.1 边表 2.2 顶点表 2.3 初始化图边时用了头插法 3.深度优先搜索 3.1 递归 ...
分类:
编程语言 时间:
2018-05-06 22:23:21
阅读次数:
140
要求时间复杂度O(nlogn),空间复杂度O(1),采用归并排序 传统的归并排序空间复杂度是O(n),原因是要用一个数组表示合并后的数组,但是这里用链表表示有序链表合并后的链表,由于链表空间复杂度是O(1),所以可以。 链表问题经常出现TLE问题或者MLE问题,这时候要检查链表拼接过程或者循环过程, ...
分类:
编程语言 时间:
2018-02-12 22:24:06
阅读次数:
201
根据输入的广义表建立子女右兄弟链的二叉树表示,该二叉树对应于广义表对应的普通树。先考虑更复杂的情形,如果广义表中存在共享表,则将其转换为带共享子树的二叉树表示,每一共享子树带有附加头节点,其左链指针指向共享子树,最后输出带共享子树的子女右兄弟链表示(广义表形式) C++代码: 运行结果: 广义表无共 ...
分类:
编程语言 时间:
2018-02-10 17:08:57
阅读次数:
267
这里把无共享表的广义表的运算代码(基于附加头节点的链表表示)稍作修改,得到了基于附加头节点链表表示的共享表运算代码,这里就不详细注释了,可以参考之前发布的无共享表运算代码的注释来帮助理解,在共享表运算代码里映射表标准库类型map起到了重要作用 广义表(包括共享表情形)字符串形式和链表表示的相互转换: ...
分类:
其他好文 时间:
2018-02-10 17:03:17
阅读次数:
163
002TwoNumbers(将单链表表示的两个数进行相加) 学习LeetCode打卡第二天(重要提示:原文出处在 DERRANTCM,感谢博主大大的无私分享),这篇博文主要记录自己的学习心得,2018年了,在此祝福大家学习进步,工作顺利! 下面先给出博主原文,然后在博主的代码基础上修改出可运行程序。 ...
分类:
其他好文 时间:
2018-01-14 13:04:57
阅读次数:
110
[toc] 树的存储结构 树的存储结构有两种, 线式存储 和 链式存储 ,灵活使用这两种存储结构,具有如下五种存储方式: 双亲表示法,一种顺序(线式)表示法 孩子表示法,一种链式表示法 孩子链表表示法,结合线式存储和链式存储的混合表示方式 带双亲的孩子链表表示法,结合线式存储和链式存储的混合表示方式 ...
分类:
其他好文 时间:
2017-12-24 12:45:35
阅读次数:
177
02-线性结构1 两个有序链表序列的合并(15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNod ...
分类:
其他好文 时间:
2017-12-18 12:25:41
阅读次数:
111
其实仔细想想是挺简单的,我们要做的只是记得进位。 ...
分类:
其他好文 时间:
2017-11-01 00:05:01
阅读次数:
707