![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
----------链表
ax_hacker
网络,redhat,信息安全,c++,opengl
展开
-
链表--1-从尾到头打印链表-翻转链表
一、从尾到头打印链表 思路: 1、使用stack栈 通常,这种情况下,我们不希望修改原链表的结构。返回一个反序的链表,这就是经典的“后进先出”,我们可以使用栈实现这种顺序。每经过一个结点的时候,把该结点放到一个栈中。当遍历完整个链表后,再从栈顶开始逐个输出结点的值,给一个新的链表结构,这样链表就实现了反转。 2、不用stack栈,使用reverse函数 #include...原创 2018-07-08 16:26:17 · 135 阅读 · 0 评论 -
链表--2-链表中倒数第k个元素
题目 输入一个链表,输出该链表中倒数第k个结点。 思路: 定义两个指针。第一个指针从链表的头指针开始遍历向前走k-1,第二个指针保持不动;从第k步开始,第二个指针也开始从链表的头指针开始遍历。由于两个指针的距离保持在k-1,当第一个(走在前面的)指针到达链表的尾结点时,第二个指针(走在后面的)指针正好是倒数第k个结点。 注意: 1、头指针为空 ...原创 2018-07-08 16:51:34 · 116 阅读 · 0 评论 -
链表--3-合并两个排序的链表
题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路 先判断输入的链表是否为空的指针。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接返回第一个链表。如果两个链表都是空链表,合并的结果是得到一个空链表。 两个链表都是排序好的,我们只需要从头遍历链表,判断当前指针,哪...转载 2018-07-08 19:03:41 · 202 阅读 · 0 评论 -
链表--4-两个链表的第一个公共节点
题目 输入两个链表,找出它们的第一个公共结点。 思路 这道题和160.Intersection of Two Linked Lists是一样的。都是求两个链表的第一个公共结点。 公共结点的样子: 上图就是一个有公共结点的例子,在公共结点之后,两个链表指针指向的地址是相同的。 这道题有两个...原创 2018-07-08 19:55:33 · 88 阅读 · 0 评论