自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 day21 第六章 二叉树part08

二叉树的增加/删除,用有返回值的函数更方便,要记得上一层有结点接住本层的返回值。108.将有序数组转换为二叉搜索树。538.把二叉搜索树转换为累加树。669. 修剪二叉搜索树。

2024-10-06 18:34:30 154

原创 day20 第六章 二叉树part07

通过递归函数的返回值完成其父节点的赋值操作。二叉树本质是链表,插入删除要记前后节点。235. 二叉搜索树的最近公共祖先。450.删除二叉搜索树中的节点。701.二叉搜索树中的插入操作。

2024-10-03 22:53:01 207 1

原创 day18 第六章 二叉树part06

遍历边还是整棵树,取决于是否要同时处理左右子树的返回结果。学会在递归遍历的过程中如何记录前后两个指针。二叉搜索树:有序数组---中序遍历。530.二叉搜索树的最小绝对差。236. 二叉树的最近公共祖先。501.二叉搜索树中的众数。普通二叉树:无序数组。

2024-10-02 22:44:59 108

原创 day17 第六章 二叉树 part05

层序:破坏了树状结构,很难重新构造,一般不用于构造树。如果t1为空,合并之后就是t2。如果t2为空,合并之后就是t1。直接return 不需要继续。700.二叉搜索树中的搜索。构造二叉树都是 前序遍历。98.验证二叉搜索树。

2024-09-23 22:11:45 177

原创 day16 第六章 二叉树 part04

找树左下角的值前序法层序路径总和。

2024-09-19 19:45:41 201

原创 day15 第六章 二叉树part03

257. 二叉树的所有路径 (优先掌握递归)222.完全二叉树的节点个数(优先掌握递归)110.平衡二叉树 (优先掌握递归)404.左叶子之和 (优先掌握递归)完全二叉树最终可以分解为满二叉树。比较左右子树的高度->

2024-09-12 12:46:08 152

原创 day14 第六章 二叉树 part02

(懂了:首先判断上一层是否对成,在上一层对称的前提下,下一层不对成的情况是1.数量多了/少了 2.数字不对称 3.数量数字都对称的情况下,位置不对称,这些都能用levels!知道每个结点的depth,跟result来比更新result,result最后就是最大的深度。层序遍历也行,node加0和判断单双数能通过,至于为啥,没懂。104.二叉树的最大深度 (优先掌握递归)111.二叉树的最小深度 (优先掌握递归)101. 对称二叉树 (优先掌握递归)226.翻转二叉树 (优先掌握递归)

2024-09-08 12:19:52 212

原创 day13 第六章 二叉树part01

怎么写class Node递归遍历 (必须掌握)深度优先前序,中序,后序res = []return resreturnres = []return resreturnres = []return resreturn层序遍历广度优先# 必须先判断root是否为空return []= None:= None:104.二叉树的最大深度(opens new window)111.二叉树的最小深度这两道题深度优先/广度优先都行,广度优先已掌握。

2024-09-05 16:16:19 211

原创 day11第五章 栈与队列part02

347.前 K 个高频元素。150. 逆波兰表达式求值。优先级队列:大顶堆/小顶堆。239. 滑动窗口最大值。

2024-09-02 16:55:40 127

原创 day10第五章 栈与队列part01

双向队列deque只用append()和popleft()相当于queue。python里stack就是list[],只用pop和append,可以学习一下不同语言的底层是怎么实现这两种数据结构的。1047. 删除字符串中的所有相邻重复项。双队列:queue_out只用来备份。python里的队列用deque()单队列:左边出去一个,右边加上一个。弹出最后的元素和从尾部加入元素。先思考分几种情况,再写代码。225. 用队列实现栈。232.用栈实现队列。stack--消消乐。

2024-08-29 00:02:17 190

原创 day07 第三章 哈希表part02

454.四数相加II在一个集合里面,判断一个有没有出现过--------哈希法数组是下标查找,set和map是key查找,所以用数组时数值不能太大。具体用哪个哈希表哈希表里存什么元素指什么(map的key和value)tips:处理map中不存在的键的方法:383. 赎金信建议:本题 和 242.有效的字母异位词 是一个思路 ,算是拓展题\15. 三数之和。

2024-08-26 23:44:41 244

原创 day06 第三章 哈希表part01

哈希表是根据关键码的值而直接进行访问的数据结构。一种映射,能用数组用数组,最快。242.有效的字母异位词这道题目,大家可以感受到 数组 用来做哈希表 给我们带来的遍历之处。= 0:349. 两个数组的交集先确定要用什么数据类型选择数组or集合:数组:数据大小有一个范围,且不会太大,也不会有太多空集合:数据稀疏;数据大小不定(由于要hash运算,耗时比数组长)set: 红黑树O(logn)multiset: 红黑树O(logn)

2024-08-13 23:29:21 267

原创 day09 字符串part02

跟翻转单词一样,先转位置,再转正反(因为翻转的翻转是原来的正反)大而化小,先有整体思路,再写局部函数。链表:反转链表(三指针),找环。151.翻转字符串里的单词。卡码网:55.右旋转字符串。对数组、字符串的增、删很有用。reverse用的很多。

2024-08-11 16:14:52 245

原创 代码随想录day8

python里str不能改变,要先变成list,再用''.join(list)一段一段变的时候,i+=2k。第四章 字符串part01。541. 反转字符串II。

2024-07-11 15:30:09 141

原创 代码随想录day3

搞清楚index指哪一个数,[0,....] [1,....],以及。python不用new,直接=ListNode(...)增加,删除现有指针要走到index。先连后面的↗,再连前面的↘。虚拟头结点:增加删除都很容易。①暂存下一个结点的地址;203.移除链表元素。

2024-07-10 18:26:23 243

原创 代码随想录day1

704. 二分查找 Binary Search。注意循环不变量:左闭右闭/左闭右开/...目标值先跟mid比较,然后调整区间。快指针:符合要求的元素的下标。慢指针:新数组的元素的下标。

2024-07-06 00:18:45 259

原创 代码随想录day2

关于正方形,四条边的处理情况尽量相同,想好四个角归属哪条边处理。双指针,滑动窗口,搞清楚用一个for指的是起始点还是终点。209.长度最小的子数组。977.有序数组的平方。

2024-07-05 17:01:50 197

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除