自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 随想录刷题笔记 —二叉树篇11 538二叉搜索树转换为累加树 77组合

递归:使用pronode标记仅小于该节点的节点,使用右中左的顺序 根据pronode值修改节点值。

2024-02-24 19:58:24 441

原创 随想录刷题笔记 —二叉树篇10 450删除二叉搜索树节点 669修剪二叉搜索树 108有序数组转换为二叉搜索树

删除结点分为2种情况:1.结点的孩子只有一个或没有,则直接用孩子或空替代2.结点的孩子有两个,用左孩子替代,将左孩子的右孩子移到结点右子树的最左结点解法一:递归解法二:迭代。

2024-02-22 19:52:04 471

原创 随想录刷题笔记 —二叉树篇9 236二叉树最近公共祖先 235二叉搜索树最近公共祖先 701二叉搜索树插入操作

后序遍历:递归到头,或者该结点是p或q那么则返回该结点。如果左和右返回的都不是空,那么此节点就是深度最大的公共结点。如果左是空,那么就返回右。

2024-02-19 19:37:43 379 1

原创 随想录刷题笔记 —二叉树篇8 654最大二叉树 530二叉搜索树最小绝对差 501二叉搜索树中的众数

传入优化:传入。

2024-02-18 16:49:23 420 1

原创 随想录刷题笔记 —二叉树篇7 617合并二叉树 700二叉搜索树中的搜索 98验证二叉搜索树

递归:如果root1和root2其中有一个为空,则将另一个的结点直接赋值即可——将该节点和子树都直接赋值过去了。如果都不是空,就需要重新建立一个结点再进入递归。

2024-02-17 19:51:12 463 1

原创 随想录刷题笔记 —二叉树篇6 513找树左下角的值 112路径总和 106中序后序构造二叉树

元素为切割点,先切中序数组,根据中序数组,反过来再切后序数组。一层一层切下去,

2024-02-16 21:24:10 419 1

原创 随想录刷题笔记 —二叉树篇5 110平衡二叉树 257二叉树所有路径 404左叶子之和

判断左右子树高度是否相差超过1使用递归递归时判断左右子树高度相差超过1,则返回高度-1如果左右子树高度存在-1,则仍返回-1.如果左右子树平衡则返回左右子树高度中最大值+1.

2024-02-15 14:52:51 570 1

原创 随想录刷题笔记 —二叉树篇4 226翻转二叉树 101对称二叉树 222完全二叉树节点个数

二叉树每个结点的左右孩子结点交换,解决问题就在于遍历所有结点一遍,变遍历边交换。解法一: 队列,也就是层序遍历。解法二:递归,也就是后根遍历。先根遍历,中根遍历同样可解,后根遍历性能较好。

2024-02-14 18:36:41 562 1

原创 随想录刷题笔记 —二叉树篇3 117填充每个节点的下一个右侧节点指针II 104二叉树最大深度 111二叉树最小深度

和116的区别在于116是完美二叉树,而117中的结点并非左右子结点都存在。解法一:队列解法二:双循环代替队列。

2024-02-13 11:50:15 328 1

原创 随想录刷题笔记 —二叉树篇2 429N叉树层序遍历 515每个树行找最大值 116填充每个节点的下一个右侧节点指针

跟二叉树层序遍历基本相同,区别在于需要使用for循环遍历孩子集合list解法一:使用递归解法一:使用队列。

2024-02-07 22:50:08 532 1

原创 随想录刷题笔记 —二叉树篇1 102二叉树层序遍历 107二叉树层次遍历II 199二叉树右视图 637二叉树层平均值

即逐层地,从左到右访问所有节点解法一:使用队列进行层序遍历,运用先进先出的队列性质,对出队结点的左右孩子进行入队,从而实现层序遍历。使用count进行每层节点的个数统计,当该层结点全部出队后,队中结点数量就是下层结点的个数。解法二:递归,递归时使用deep参数来标记层数。107二叉树层次遍历 II自底向上的层序遍历 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)只需要将102的自顶向下的层序遍历的reverse即可199二叉树右视图按照从顶部到底部的顺序,返回从右侧所能

2024-02-06 17:16:17 329 1

原创 随想录刷题笔记 —栈与队列篇3 239滑动窗口最大值 347前 K 个高频元素

返回滑动窗口中的暴力破解加优化:遍历滑动窗口查找最大值,标记该最大值的下标。窗口移动:判断该最大值是否移出窗口,如果移出则重新遍历查找。如果未移出,则比较最大值和新加入的值即可。结果勉强通过,优化后刚好没有超出时间限制看了题解,使用队列解决!队列需要一直维护成单调队列,即队顶元素是最大的,队尾元素是最小的。使用队列需要解决两个问题:单调维护,滑动窗口范围维护方法:放入新元素时,跟队尾元素比较,如果新元素比较大,就弹出队尾元素,直到队列为空或队尾元素比新元素大。

2024-02-05 14:43:08 1124 1

原创 随想录刷题笔记 —栈与队列篇2 20有效括号 1047删除字符串相邻重复项 150逆波兰表达式求值

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否使用来做括号匹配,如果是,如果是,在遇到右括号出栈时即可。

2024-02-03 20:46:17 541 1

原创 随想录刷题笔记 —栈与队列篇1 232栈实现队列 225队列实现栈

栈实现队列和队列实现栈的本质都是在push功能上进行修改,从而使出队和出栈方式相同,所以重点在函数。

2024-02-02 12:35:09 369

原创 随想录刷题笔记 —字符串篇2 卡码网55右旋字符串 28找出字符串中第一个匹配项的下标 459重复的子字符串

将字符串中的后面移到字符串的前面使用StringBuilder 先加入后k个字符,再加入前面的字符。

2024-02-01 16:04:12 513 1

原创 随想录刷题笔记 —字符串篇1 344反转字符串 541.反转字符串II 卡码网54替换数字 151翻转字符串里的单词

翻转输入字符数组双指针,从两边向中间移动,交换指针指向的数组值。

2024-01-31 20:10:29 1351

原创 随想录刷题笔记 —哈希篇2 454四数相加II 383赎金信 15三数之和 18四数之和

两两为一组计算和,建立哈希表存储第一二组的和,遍历三四组的和,在哈希表中查找。

2024-01-30 15:22:01 412 1

原创 随想录刷题笔记 —哈希篇1 242有效的字母异位词 349两个数组的交集 202快乐数 1两数之和

s和t中每个字符出现的,则称s和t互为。创建一个哈希表,把s的每个字符及其个数存储在哈希表中,再比较t的字符及其个数。

2024-01-28 21:02:42 286 1

原创 随想录刷题笔记 —链表篇2 24两两交换链表节点 19删除倒数第N个节点 02 07链表相交 142环形链表II

的节点首先创建了哨兵结点。其次创建3个指针,分别指向pre node1 node2, 交换node1和node2。

2024-01-27 21:24:49 806

原创 随想录刷题笔记 —链表篇1 203移除链表元素 707设计链表 206反转链表

只是个人笔记

2024-01-26 23:03:06 281

原创 随想录刷题笔记 —数组篇2 977有序数组平方 209长度最小子数组 59螺旋矩阵

只是个人笔记

2024-01-25 15:41:24 383

原创 随想录刷题笔记 —数组篇1 704二分 27移除

根据代码随想录进行刷题打卡 只是笔记而已

2024-01-24 15:35:22 339 1

空空如也

空空如也

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

TA关注的人

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