输一个链表的头结点,从尾到头反过来打印出每一个节点的值. 节点定义如下 思路 从头到尾遍历链表,把每个节点放入栈中,遍历完后,从栈顶开始逐个输出节点的值, 此时输出的节点的顺序已经反过来了 实现 递归的本质就是一个栈结构,于是要使用递归来实现,我们每访问到一个节点的时候, 先递归输出它后面的节点,再 ...
分类:
其他好文 时间:
2019-09-04 21:50:19
阅读次数:
146
链表逆序 有头结点的链表逆序 coding:utf 8 有头结点的链表逆序 class Node: def __init__(self, data=None, next=None): self.data = data self.next = next def print_link(head): cu ...
分类:
其他好文 时间:
2019-09-04 13:50:16
阅读次数:
72
地址 https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 解法 使用快慢指针 ...
分类:
其他好文 时间:
2019-09-04 13:37:34
阅读次数:
113
最近在看链表,今天刷到一道链表的反转题,链表反转可以说是基础操作,但是可提供的方案也有很多,简单通过了该题后又学习了一下递归反转,现在把三种方法都公开出来做一个总结。 1.就地逆置 2.单参数的递归逆置 3.双参数的递归逆置 一、就地逆置 方法:头插。 由于这里是不带表头结点的单向链表,所以头插会稍 ...
分类:
其他好文 时间:
2019-09-03 22:36:23
阅读次数:
106
给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到 ...
分类:
编程语言 时间:
2019-09-01 21:56:55
阅读次数:
89
Remove all elements from a linked list of integers that have value val. Example: 说到删除,首先想到定义两个指针,分别指向要被删除的结点和该结点的前驱结点。这里还需要考虑头结点是需要删除结点的特殊情况。 ...
分类:
其他好文 时间:
2019-08-29 16:19:55
阅读次数:
62
1 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 2 思路和方法 (1)链表为空,不必多说,return NULL; (2)如果恰恰是头结点与头结点的后一个重复了 ...
分类:
编程语言 时间:
2019-08-29 13:55:32
阅读次数:
112
题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 A:若链表1为空,则合并后的链表头结点为pHead2;若链表2为空,则合并后的链表头结点为pHead1 创建ret_Head作为合并链表的新头结点,比较pHead1和pHead2,ret_Head指向 ...
分类:
编程语言 时间:
2019-08-29 00:14:13
阅读次数:
118
题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 A:当遍历到第一个值为重复的节点时,要有一个指针指向它的前一个节点 因为函数原型没有传二级指针进来,且头结点也有可能被删 ...
分类:
其他好文 时间:
2019-08-27 19:08:28
阅读次数:
95
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6705 题目大意:给出n个点,m条边,q个询问,每个询问回答第$k_{i}$短路 解题报告:使用STL中的multiset,好处是头结点和尾结点都方便删除,记录每个以i结束的边的权值,然后再进行扩展,当m ...
分类:
其他好文 时间:
2019-08-27 00:51:35
阅读次数:
86