自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第二十二天 | 235. 二叉搜索树的最近公共祖先、 701.二叉搜索树中的插入操作、 450.删除二叉搜索树中的节点

701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。

2023-05-16 18:53:04 59

原创 代码随想录算法训练营第二十一天 | 530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数 、236. 二叉树的最近公共祖先

501.二叉搜索树中的众数。

2023-05-09 15:01:42 64

原创 代码随想录算法训练营第二十天 | 654.最大二叉树 、617.合并二叉树 、700.二叉搜索树中的搜索 、 98.验证二叉搜索树

若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;终于做出来两道二叉树617和700。难点在于想通为什么用中序遍历(左中右)它的左、右子树也分别为二叉搜索树。要了解二叉搜索树的遍历顺序。98.验证二叉搜索树。

2023-05-05 15:28:51 62

原创 代码随想录算法训练营第十八天 | 513.找树左下角的值、112. 路径总和 、113.路径总和ii、 106.从中序与后序遍历序列构造二叉树、105.从前序与中序遍历序列构造二叉树

513.找树左下角的值513.找树左下角的值num = 1global numprint(num)num = 123print(num)fun1()print(num)以上实例输出结果:1123123num = 10nonlocal num # nonlocal关键字声明num = 100print(num)inner()print(num)outer()以上实例输出结果:100100。

2023-05-02 19:19:53 57

原创 代码随想录算法训练营第十七天 | 110.平衡二叉树 、257. 二叉树的所有路径 、 404.左叶子之和

思维:先遍历父节点,判断他的左孩子是否为空的同时,判断左孩子的左孩子是否为空,即左孩子就是我们要找的值。节点A的左孩子不为空,且左孩子的左右孩子都为空(说明是叶子节点),那么A节点的左孩子为左叶子节点。是当 cur不为空,其左右孩子都为空的时候,就找到叶子节点。因为要先判断左右子树,才能进行中间的逻辑判断。257. 二叉树的所有路径。

2023-04-26 11:41:46 22

原创 代码随想录算法训练营第十六天 | 104.二叉树的最大深度 、559.n叉树的最大深度、111.二叉树的最小深度、 222.完全二叉树的节点个数

前序(中左右),后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数后者节点数(取决于高度从0开始还是从1开始)

2023-04-24 23:07:50 88

原创 代码随想录算法训练营第十五天 | 层序遍历 10道题 、226.翻转二叉树 、101.对称二叉树 2

使用前序遍历和后序遍历都比较方便,唯独中序遍历,因为中序遍历会把某些节点的左右孩子翻转了两次,所以中序遍历需要处理两边左孩子。因为要从下往上,才能告诉父节点,下面两个可以互相翻转,也就是左右中,后序。注意一开始要定义一个二维数组,一个个一维数组组成二维数组。注意只要把每一个节点的左右孩子翻转一下,就可以达到整体翻转的效果。难点二:如何比较,用左孩子的左孩子和右孩子的右孩子比较。117.填充每个节点的下一个右侧节点指针II。116.填充每个节点的下一个右侧节点指针。102.二叉树的层序遍历。

2023-04-24 21:35:56 51

原创 代码随想录算法训练营第十四天 | 理论基础、递归遍历144. 二叉树的前序遍历、145. 二叉树的后序遍历、94. 二叉树的中序遍历、迭代遍历、 统一迭代

在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;前面介绍的树,都没有数值的,而二叉搜索树是有数值的了,

2023-04-23 12:01:46 74

原创 代码随想录算法训练营第十三天 | 239. 滑动窗口最大值、347.前 K 个高频元素

看视频懂了,回到代码没看懂。347.前 K 个高频元素。239. 滑动窗口最大值。239. 滑动窗口最大值。

2023-04-20 12:04:30 22

原创 代码随想录算法训练营第十一天 | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

二叉树,碰到运算符,取最顶上的两个出来运算,并返回栈,先取出来num2,再取出num1,运算的时候num1在前,num2在后运算,python可以import,但是python的除法和本题不一样,所以要"/": lambda x, y: int(x / y)stack 是空的,所以[a],下一个是b,[a,b],接下来是b,stack[-1]相同,所以pop。list(map(square, [1,2,3,4,5])) # 使用 list() 转换为列表。逆波兰表达式求值可以再回顾一下。

2023-04-19 09:34:04 29

原创 代码随想录算法训练营第十天 | 理论基础、 232.用栈实现队列、 225. 用队列实现栈

两个队列,in用来存储也就就是q2,out用来pop,也就是q1。看懂了,但是转换成python还是有点不太理解。

2023-04-17 18:49:30 34

原创 代码随想录算法训练营第九天 | 28. 实现 strStr()、459.重复的子字符串、字符串总结 、双指针回顾

再二刷做一下题,再写心得。

2023-04-17 10:51:23 76

原创 代码随想录算法训练营第八天 | 344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串

151.翻转字符串里的单词 的c++ 版本看懂了,自己的python操作语言不是很理解。在遍历字符串的过程中,cur 每次移动 2 * k,用到range(start,end,step)151.翻转字符串里的单词。

2023-04-17 09:42:30 22

原创 代码随想录算法训练营第七天 | 454.四数相加II 、383. 赎金信、 15. 三数之和 、18. 四数之和

难在剪枝,比如[-4,-1,0,0] target是-5,-4比-5大,所以剪枝的前提是target是正数,数字大于0。15题三数之和,要用双指针,去重逻辑的思考,很重要。对b,c去重还需理解。

2023-04-16 00:49:13 20

原创 代码随想录算法训练营第六天 | 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

用数组。

2023-04-13 23:43:27 22

原创 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、 142.环形链表II

关键要画图!!tmp值要有两个。

2023-04-13 02:22:15 28

原创 代码随想录算法训练营第三天 | 203.移除链表元素 、707.设计链表 、206.反转链表

方法一:递归方法二:添加一个虚拟头结点。

2023-04-11 15:12:20 29 1

原创 代码随想录算法训练营第二天 | 977.有序数组的平方 、209.长度最小的子数组 、59.螺旋矩阵II

双指针用法0 one1 two2 three。

2023-04-08 20:29:04 75

原创 代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素

在排序数组中查找元素的第一个和最后一个位置。

2023-04-06 01:29:53 176 2

空空如也

空空如也

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

TA关注的人

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