自定义博客皮肤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)
  • 收藏
  • 关注

原创 代码随想录day23打卡 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇

偏偏是这道说是不难的题我卡了很久,不知道为啥我的大脑像是走了死胡同一样,明明直接从最后一个挨个更新,新的只要用了 右边已经更新的值就可以了,我居然会认为这样算不出来,反应过来我自己都傻了,不知道为啥犯这种迷糊,有点不能理解哈哈。总的来说这几道题思路都不是很难,但是树这块递归好重要,所以非常需要练习,尤其是我这种对递归特别不熟的人,更加需要复盘和练习。这道题我倒是没忘记考虑右子树的情况,不过由于对递归的不熟悉卡壳了,看了文章后理清了思路然后做出来了。538.把二叉搜索树转换为累加树。

2024-02-01 20:30:21 235 1

原创 代码随想录day22打卡 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

这道题我的解法和随想录不一样,学数据结构的时候学的王道的解法是用左边的最大或者右边的最小去替代要删除的结点,我用的右边的最小去替代的,也通过了。然后看随想录的文章学到了把左边的移动到右边最小的左子树上然后用右子树去替代删除结点的解法。考研中学过,思路比较清晰,不过个人感觉迭代比递归思路更容易理清。235. 二叉搜索树的最近公共祖先。701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。昨天做了,灵神思路超清晰。

2024-01-31 17:15:54 236

原创 代码随想录day21打卡 ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

代码随想录》算法公开课开讲啦!这道题我直接看的灵神的讲解,真的通透阿,然后也同时看了搜索树的情况,太优雅了,感觉非常需要画图去仔细思考一下题目给出的性质然后 发现规律去找到突破口,最后大喊一句:灵神太牛了!

2024-01-30 12:26:41 866 1

原创 代码随想录day20打卡 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树

这几天树的题目一个是递归会犯迷糊,另一个就是我的大脑不知怎么了,一听到前序遍历就反应成中序遍历,真的不知道为啥,不过待会就会反应过来,这块的题好多用递归去解决会显得十分方便,不过递归的过程对于我来说还是会踩很多坑,有时间就得把这些题多练练,多思考递归的过程。然后去看了灵神的讲解了解了前序遍历的做法,发现也是挺简单的,只不过从处理元素大小主要变成了边界条件的处理,关于后序遍历的解法看了讲解有的地方感觉犯迷糊,所以选择暂时放一放,周日或者二刷再去尝试。700.二叉搜索树中的搜索。98.验证二叉搜索树。

2024-01-29 18:49:35 141

原创 代码随想录day15 补卡 ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2

层序遍历考研中有学过,这里又熟悉了数遍,熟悉了迭代的模板,剩下的几道题相对来说算是比较简单的,只要在模板的基础上做修改就可以了。226.翻转二叉树。

2024-01-28 20:12:37 224 1

原创 代码随想录day18打卡 ● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树

这题思路我是会的,考研中有学过这种的解法,但是代码我没写出来,递归的过程有的地方我还是会犯迷糊,照着随想录的代码打了一遍提交了,明天周日不仅得补一补前面落下的进度,更需要把这几天树这块的递归去多写几遍,思考它的过程以及三部曲。第一想法直接是层次遍历去找最后一层的第一个,这题感觉不难,也没踩啥坑;不过递归就不太反应的过来,递归还是不熟,感觉得把递归的题都多写几遍。这两道题只需要在昨天的题目上稍加修改,用一个类似计数的int去找符合条件的路径就行了。从中序与后序遍历序列构造二叉树。

2024-01-27 22:54:34 185

原创 代码随想录day11 补卡 20. 有效的括号● 1047. 删除字符串中的所有相邻重复项● 150. 逆波兰表达式求值

这一天的题感觉难度不大,但是我暴露出了问题,比如读题不仔细,而且对c++的好多函数不熟悉,导致知道思路怎么写可写不出来,看了文章后才写出来,还是得多练吖。后缀表达式,考研中有去了解过,但没仔细学,只知道手算没写过代码,大体理了一边思路感觉不难。这道题可以说是栈超经典的题目了,还没学数据结构的时候就有所耳闻,很顺利的做出来了。一眼用栈,不过踩坑了,没好好读题,看成了只删除重复的其中一个。1047. 删除字符串中的所有相邻重复项。150. 逆波兰表达式求值。

2024-01-26 19:28:44 222 1

原创 代码随想录day17打卡 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和

这道题主要利用了回溯,能想到利用回溯的解题思路,但是是第一次学,所以没能写出来,看了文章后对回溯有了基本的了解,能明确理解第一种做法。这道题有点像求深度的,区别感觉主要在于实时判断两边的深度绝对值差是否大于1,如果大于直接就结束了递归返回-1,这道题看了灵神的讲解有了比较充分的了解,学会了如何灵活运用-1去当作跳出递归的条件。这道题关键在于左叶子的定义,不过一开始被自己给绕晕了,居然在想判断结束条件为什么右边不用,真的有点傻,不过看了讲解后能明白了。通过今天的练习,学习了回溯的方法,练习了递归。

2024-01-26 15:54:25 218 1

原创 代码随想录day16打卡 ● 104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数

104.二叉树的最大深度 题目链接/文章讲解/视频讲解:代码随想录这道题考研时也准备过,用递归解出来了,也大概知道迭代的解法,看了文章敲了一遍111.二叉树的最小深度 题目链接/文章讲解/视频讲解:代码随想录这道题完全没想到那种特殊情况,看了文章后了解了这道题的思路,然后照着这个思路实现了代码,但是感觉这道题印象不够深,还得练。222.完全二叉树的节点个数 题目链接/文章讲解/视频讲解:代码随想录这道题用普通的求节点数目的递归方法解出来了,但是完全没想到利用完全二叉

2024-01-25 21:20:58 167

原创 代码随想录day14补卡 ● 理论基础● 递归遍历 ● 迭代遍历● 统一迭代

迭代法用的主要是那种统一的方法,看了文章后学会了前后序的比较简单的写法,归根结底还是模拟栈工作的过程。复习了三种树的基本遍历,这几种遍历的递归还是相对比较基础的,考研中也有练习,所以比较简单。

2024-01-25 20:42:33 91

原创 代码随想录打卡day10 ● 理论基础● 232.用栈实现队列● 225. 用队列实现栈

这道题想到了思路,用两个栈去做,但是在pop的时候我想到的是恢复开始的样子,看了讲解才明白根本就不用恢复,能直接去用,因为我以为pop、push再pop会出问题,思考后发现自己想错了,下次应该就不会犯这个错误了。前两天因为家里有事所以耽误了两天的打卡,但是这周末要加把劲补回来,时间充裕我想尝试着去描述解法的思路,然后尝试着去贴一点代码。这道题一个队列两个队列的解法都能想到,总的来说思路还是比较简单的。225. 用队列实现栈。232.用栈实现队列。

2024-01-19 19:56:31 325 1

原创 代码随想录打卡day7 ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结

这两道题我一开始的思路都是用哈希表做,但是仔细想了一下并不是特别适合,感觉做起来会有很多坑,于是我去看了灵神的思路,学习了一下相向双指针的方法以及两种优化策略,对这种思路有了比较清晰的认识,但是由于这两天家里有事,我没能自己用c++写出来。这道题经典运用哈希表的方式解决,思路比较轻松就想出来了,但是还是那个问题c++需要练。这道题以前有做过所以有印象,也是哈希表的思路去解决,也较为简单。明天决定补一下这两天遗漏的东西,顺便再把这几道题好好练习一下。454.四数相加II。

2024-01-16 20:37:21 307 1

原创 代码随想录day6 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和

今天由于有好多事,因此没有仔仔细细把每个都学着用c++具体实现一遍,三和一是先看的思路,同时后三道题都是用go去解决的,因此后天需要把c++的哈希表相关仔细联系联系。经典的被唬住了,没有理解透题意,没想到解题的思路,所以看了讲解后思考了一会才明白,原来其实很简单,感觉还是需要善于发现他题目中给的相关信息,这样做题就方便很多。思路都是相对比较简单的,同时由于考研学过散列表,以前又用go写过很多哈希的例子,所以理解思路还是比较顺利的。349. 两个数组的交集,242.有效的字母异位词 1. 两数之和。

2024-01-15 21:15:18 368

原创 代码随想录30期practice day4 ● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II

今天的这几道题感觉还是需要活用双指针,对于处理链表的这种题型双指针还是非常好用的,虽然前面两道题能够写出来,但是感觉我还是得提前想好每个步骤的思路,以防某个步骤顺序颠倒最后失败,同时学习到了环形链表的解题思路,做题最重要的还是得把题看明白呀!这道题个人感觉有些难度,我没能想到找环入口的思路,所以去看了视频,一开始没有注意到为什么会slow最多转一圈,后来多看了几遍文章讲解然后又自己画图去试明白了,不过代码我还是看过卡哥的代码之后才写的,明天休息自己多写几遍。24. 两两交换链表中的节点。

2024-01-15 21:09:16 373

原创 代码随想录30期practice day3 链表理论基础 ● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表

这道题思路不难,但考验代码熟练度,一开始写的时候没有注意到size的作用,以及添加到表尾的方法中设置tmp初值设置成了虚拟头结点的next,跳过了一部所以失败了。同样是考研中学过,所以思路有印象,能写出普通的双指针写法,对于递归写法通过看文章和视频仔细地了解了一下,现在明白了,但是感觉不看我自己很可能又会犯迷糊,所以自己感觉得多看多写。这道题难度感觉不高,因为考研时有练习过,所以很快就写出来了,唯一可能注意的点就是仔细了解了一下c++的写法。c++功底太浅,很需要多练习。203.移除链表元素。

2024-01-12 14:57:21 461

原创 代码随想录30期practice day2 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

这道题一开始自己的思路还是暴力破解去一个个寻找合适的结果,但是看了视频后理解了双指针的写法,一开始也有想思路,但是没想到从两边去找,因此没写出来这种解法。这道题我知道应该使用滑动窗口,但是太久没写忘了,于是我又通过随想录的文章和视频学习了一遍,但是一开始我对于j的变化还是有点疑问,仔细思考了之后明白了。这道题我想到了左闭右开进行边界处理,但是没想到奇数的仍然需要对于中间元素进行单独处理,所以没能成功,看了文章后明白了,对于这种模拟我感觉思路还是比较清晰的,但是还是很需要多练习。977.有序数组的平方。

2024-01-11 20:45:40 551

原创 代码随想录30期practice day1 704. 二分查找、27. 移除元素

看到这种题第一时间想到的还是暴力破解,写了之后算是练习了c++的运用, 一开始没想到快慢指针写法(虽然我以前看过练过,但是还是给忘了)。学习了之后,还是对于快指针和慢指针的作用有点疑惑,看了视频后才明白两个指针之间的移动和元素覆盖的原理。个人感觉仍然需要多练几道题目熟悉一下。因为考研时学习了折半查找,所以对于普通的左闭右闭区间的写法还是比较熟悉的,能够比较熟练的写出来,但由于用惯了go,刚学c++,所以写着写着还是很容易丢分号。总的来说,第一天收获还可以,练习了c++,同时更加理解了二分,学习了快慢指针。

2024-01-10 20:06:02 373

空空如也

空空如也

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

TA关注的人

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