随笔分类 -  【剑指offer】__链表类__

记录我在刷剑指offer时学到的一些东西,代码跟别人那学的的,我做了些过程上的演示便于理解
摘要:一,问题 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 二,分析 这道题用python很好做,用insert函数即可 做一个空数组ArrayList=[ ] 然后用指针pos 遍历链表,之后ArrayList.insert(pos.val)就行了 三,代码 阅读全文
posted @ 2020-06-23 19:03 董不耀 阅读(89) 评论(0) 推荐(0)
摘要:一,问题 输入一个链表,输出该链表中倒数第k个结点。 二,分析 先举一个栗子:有这么一个链表:我们做两个指针,让他们构成一个尺子,所以一个叫尺子头,一个叫尺子尾 rulertou=head rulerwei=head 让这个尺子的长度为k for i in range(k): rulertou= r 阅读全文
posted @ 2020-06-23 18:37 董不耀 阅读(319) 评论(0) 推荐(0)
摘要:一,问题 输入一个链表,反转链表后,输出新链表的表头。 二,分析 先举个栗子:有如下链表 我们先定义三个指针left,mid,right left=pHead mid=left.next right=mid.next 然后掐断4指向1的next指针 left.next=None 让mid.next转 阅读全文
posted @ 2020-06-23 18:21 董不耀 阅读(936) 评论(0) 推荐(1)
摘要:一,问题 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则 二,分析 先举一个栗子: 有如下两个链表: 我们做一个指针叫top,他指向两个链表中表头较小的那个。之后他就不动了,等着被输出 再做两个指针,一个叫up一个叫down,分别指向上链表和下链表 up= 阅读全文
posted @ 2020-06-23 18:09 董不耀 阅读(470) 评论(0) 推荐(0)
摘要:一:问题描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 二,分析 先举个栗子,有如下链表,每个节点除了指向下 阅读全文
posted @ 2020-06-23 17:37 董不耀 阅读(278) 评论(0) 推荐(0)
摘要:一,问题输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 二,分析 先举个栗子:有如下二叉搜索树,想成为排序的双向链表 我们需要先找到根节点的左孩子,再找到左孩子的最右叶子节点,让这个叶子节点和根节点用指针互指。 代码: left=p 阅读全文
posted @ 2020-06-23 16:30 董不耀 阅读(284) 评论(0) 推荐(0)
摘要:一,问题描述:输入两个链表,找出它们的第一个公共结点。 二,分析 先举个具体的栗子: 有两个链表,上短下长 我们先做两个指针,分别指向上下链表的头节点 让上下两个指针一起走,这样必然有个先到None的 谁先到None说明谁的链表长 这时,我们让短链表的指针也走到None,看他需要走几步。这样就测出了 阅读全文
posted @ 2020-06-23 16:17 董不耀 阅读(504) 评论(0) 推荐(0)
摘要:一,问题描述:游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到**m-1**的那个小朋友要出列,并且不再回到圈中,从他的下一个小朋友开始,继续**0...m-1**报数....这样下去....直到剩下最后一个小朋友拿到礼品。那么哪个小朋友会得 阅读全文
posted @ 2020-06-23 16:01 董不耀 阅读(155) 评论(0) 推荐(0)
摘要:一,题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 二,分析 首先,我们做了个头节点叫result,并让头指针result.next指向头节点然后又做了两个指针,re 阅读全文
posted @ 2020-06-23 15:40 董不耀 阅读(102) 评论(0) 推荐(0)
摘要:一,问题 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 二,分析 首先要检查链表是否有环。 我们定义两个指针,一快一慢,规定快的每次能走两格,慢的只能走一格。如果快的先跑到了None,就说明链表无环。 如果快的和慢的相遇了,那么就说明有环 代码: fast=pNode 阅读全文
posted @ 2020-06-23 15:23 董不耀 阅读(141) 评论(0) 推荐(0)