- 博客(14)
- 收藏
- 关注
原创 代码随想录算法日记day15 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、 513. 找树左下角的值
今日算法题,难度也不算高,并且对于使用二叉树的遍历技巧越来越得心应手了
2024-12-11 23:11:36
555
原创 代码随想录算法日记day14 | 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、 111.二叉树的最小深度
今日算法题, 难度不高, 主要是以二叉树的遍历为基础来实现的, 涉及DFS(递归,迭代法),BFS等算法.
2024-12-10 22:22:10
935
原创 代码随想录day13 二叉树:二叉树的遍历(前中后序)(递归、迭代)、102.二叉树的层序遍历
递归的实现就是:每一次递归调用都会把函数的局部变量、参数值和返回地址等压入调用栈中,然后递归返回的时候,从栈顶弹出上一次递归的各项参数,所以这就是递归为什么可以返回上一层位置的原因。需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。给你二叉树的根节点 root ,返回其节点值的 层序遍历。通过下面的代码也可以看出来, 遍历的顺序是一样的, 只是添加/输出元素时机不同.给你二叉树的根节点root, 完成二叉树的前中后序遍历。
2024-12-09 20:59:23
610
原创 代码随想录day11:栈与队列 |150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
个人做题总结, 今日对我来说很难...
2024-12-07 16:06:29
311
原创 代码随想录day10:栈与队列 | 232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
涉及栈的部分算法题
2024-12-06 19:19:44
2019
原创 代码随想录day07:哈希表 | 454.四数相加II 、383. 赎金信 、15. 三数之和(重要) 、18. 四数之和
今日算法总结: 主要涉及哈希, 双指针.三数之和挺难的, 着实是花了不少时间, 务必掌握, 挺有意思的.
2024-12-03 23:19:38
1995
原创 代码随想录day06:哈希表 | 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数、1. 两数之和
关于今日做的算法题的一些感悟
2024-12-02 15:31:42
892
原创 代码随想录day04:链表 | 24. 两两交换链表中的节点、19. 删除链表的倒数第 N 个结点、面试题 02.07. 链表相交、142. 环形链表 II
当链表 headA 和 headB 都不为空时,创建两个指针 pA 和 pB,初始时分别指向两个链表的头节点 headA 和 headB,然后将两个指针依次遍历两个链表的每个节点。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。因此首先判断链表 headA 和 headB 是否为空,如果其中至少有一个链表为空,则两个链表一定不相交,返回 null。第三步:current --> node2 --> node1 -->?给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
2024-11-30 14:41:17
858
原创 代码随想录day03:链表 | 203.移除链表元素、707.设计链表、206.反转链表
最简单的想法. 其实就是新建一个链表, 然后将原链表的数据按照头插法插入进新的链表. (不过会造成空间资源的浪费)不过最优解是我们自己为其建立一个虚拟的头结点, 来优化链表的操作, 这样就不用对首元结点进行特殊的处理.那么如果按照一般思路来处理, 头结点是找不到前一个的, 所以需要对其进行特殊的处理.头结点如果需要移除, 那么将头结点更新为头结点的下一个.等于链表的长度,那么该节点会被追加到链表的末尾。, 作为检查的单位走下去, 移除需要的元素.的节点追加到链表中作为链表的最后一个元素。
2024-11-29 20:49:03
1662
原创 代码随想录day02 | 209.长度最小的子数组、 59.螺旋矩阵II、58. 区间和(卡码网)、44. 开发商购买土地(卡码网)
>>>>>>>
2024-11-28 22:30:22
947
原创 代码随想录day01 | 704.二分查找、27.移除元素、977.有序数组平方(Java)
解释:你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。输入: nums = [-1,0,3,5,9,12], target = 9。输入: nums = [-1,0,3,5,9,12], target = 2。输入:nums = [0,1,2,2,3,0,4,2], val = 2。输入:nums = [3,2,2,3], val = 3。输出:5, nums = [0,1,4,0,3,输入:nums = [-4,-1,0,3,10]
2024-11-27 16:22:50
939
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人