常喝水
常喝水
全部文章
题解
未归档(1)
求职(4)
知识积累(1)
算法(10)
项目(4)
归档
标签
去牛客网
登录
/
注册
学习日记
一房二人三餐四季,星辰大海,雅俗共度
全部文章
/ 题解
(共9篇)
36. 二叉搜索树与双向链表
二叉搜索树按照中序遍历可以得到有序的链表(递归) 左子树 根节点右子树class Solution: def Convert(self, pRootOfTree): # write code here if not pRootOfTree: retur...
剑指offer
链表
树
2020-02-02
0
668
52. 两个链表的第一个公共节点
定义两个指针, 第一轮让两个到达末尾的节点指向另一个链表的头部, 最后如果相遇则为交点(在第一轮移动中恰好抹除了长度差) 两个指针等于移动了相同的距离, 有交点就返回, 无交点就是各走了两条指针的长度# -*- coding:utf-8 -*- # class ListNode: # def...
剑指offer
链表
2020-02-01
5
863
35. 复杂链表的复制
要特别注意链表的连接,也就是各种next的顺序,否则会造成崩溃 分三步进行:复制的链表clone每一个node接到dummy的相应node后面;clone的random和原node的random指向一样;把链表拆开 class Solution: # 返回 RandomListNode ...
剑指offer
链表
2019-12-16
0
701
25. 合并两个排序的链表
用递归的方法,注意这里的pMeargedHead进入每一次迭代后都设置为None class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code here pMerged...
剑指offer
链表
递归
2019-12-12
1
693
24. 反转链表
为了避免链表断裂,这里需要三个指针,pnode指向某一节点,pre指向之前的一个节点,next指向后一个节点,反转的时候先记录next=pnode.next,然后让pnode指向pre,然后更新pnode和pre。 需要注意的是什么时候反转结束以及只有一个节点或空链表的时候 # -*- cod...
剑指offer
链表
2019-12-11
0
705
23.链表中环的入口节点 | python
(漫画算法也有这道题) 用快慢指针判断有没有环 若有,返还相遇的指针,此时指针必定相遇在环中 遍历环,得到环的数目n 一个指针先走n步,另一个指针再开始走(它们的速度相同),它们相遇的地方就是入口解释4:假设入口到环的入口结点距离k,当后走的指针移动k步到达入口结点时,先走的指针移动距离为n+k,...
剑指offer
链表
2019-12-11
8
1229
22. 链表中倒数第k个节点 | python
用两个指针,指针ahead先出发k-1步,当ahead到达链表尾节点的时候,behind指针刚好到达倒数第k个节点但是要注意以下情况: 输入的head为空指针 输入的链表长度小于k k = 0class Solution: def FindKthToTail(self, head, k): ...
剑指offer
链表
2019-12-11
0
674
18.删除链表中的重复节点 | python
类似于leetcode83题,但是比那个难一点。这道题是不保留重复节点,而leetcode83保留。leetcode链接https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/ leetcode:给定一个排序链表,删除...
剑指offer
链表
2019-12-10
14
1391
6.从尾到头打印列表 | python
利用栈 class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here a = [] ...
剑指offer
链表
2019-12-04
0
867