- 博客(15)
- 收藏
- 关注
原创 代码随想录第十三天|110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数
思路:平衡二叉树是所有节点的左右子树深度相差小于1,可以理解为左右节点的高度相差小于1。求节点深度可以使用前序遍历和后序遍历,但后序遍历好写一点。可以在递归过程中就判断是否为平衡二叉树,也可以单纯使用递归求节点高度,然后在遍历二叉树节点时候进行判断。
2024-09-04 16:39:33
206
原创 代码随想录第十二天| 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、559. N 叉树的最大深度、111.二叉树的最小深度
思路:交换每个节点的左右孩子即可,使用前序遍历和后序遍历比较好。题解:统一迭代法前序遍历。
2024-09-02 14:02:54
188
原创 代码随想录第十一天|递归遍历、迭代遍历、统一迭代、层序遍历
思路:递归三要素:确定参数及返回值、终止条件、单层递归逻辑。前中后序的递归遍历只需要交换单层递归中的操作顺序即可。
2024-08-28 10:31:29
494
原创 代码随想录第十天|150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
思路:遇到符号弹出上两个元素,注意要将string转成int。
2024-08-27 09:17:11
219
原创 代码随想录第九天|232.用栈实现队列、225. 用队列实现栈、20. 有效的括号、1047. 删除字符串中的所有相邻重复项
思路:stin负责存入,stout负责弹出。
2024-08-26 09:44:46
188
原创 代码随想录第八天|151.翻转字符串里的单词、卡码网:55.右旋转字符串、28. 实现 strStr()、459.重复的子字符串
思路:先去空格,翻转整个字符串,然后翻转每个单词。
2024-08-23 23:03:34
272
原创 代码随想录第六天|454.四数相加II、 383. 赎金信、15. 三数之和、18. 四数之和
思路:先求nums1和nums2和的种类,记录数目,用unordered_map记录。遍历得到nums3和nums4的和,回到unordered_map搜索有没有数可以凑到0。
2024-08-20 17:19:32
197
原创 代码随想录第五天|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
思路:判断两个字符串是否是字母异位词,需要对字符串中每种字符的数目进行统计。可以考虑unordered_map,但是本题中限定了所有字符均为小写字母,使用数组即可。
2024-08-19 15:08:42
246
原创 代码随想录第四天|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
思路:过程考虑清楚就行,想不清楚的化可以把涉及到的节点都保存一下,写得会轻松一点。
2024-08-18 17:06:02
184
原创 代码随想录第三天|203. 移除链表元素、707. 设计链表、206. 反转链表
思路:如题,考察链表,因为head也可能被移除,需要设置一下dummy_head,访问链表是通过指针,所以定义链表时记得使用ListNode*,访问内部元素使用->。Leetcode不需要自己定义链表,但是ACM模式就不一样了,所以要熟悉链表定义方式。
2024-08-18 15:13:44
227
原创 代码随想录第二天|209.长度最小的子数组、59. 螺旋矩阵 II、区间和、开发商购买土地
思路:滑动窗口经典题目,外层for,遍历数组移动滑动窗口右边界,内层while,在满足题目条件的情况下,移动滑动窗口左边界。虽然看似有两层循环,但是每个元素最多一进一出两次操作,所以复杂度是2n。
2024-08-17 23:47:16
244
原创 代码随想录第一天|704.二分查找、27. 移除元素、977. 有序数组的平方
思路:如题,考虑二分法,有两种写法,左闭右开,左闭右闭。右开的情况下,while处不能相等,right更新时不减一,右闭情况下相反。
2024-08-16 21:29:57
313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人