代码随想录算法训练营第四天| 24. 两两交换链表中的节点、19.删除链表的倒数第n个节点、面试题 02.07. 链表相交、142.环形链表ii-爱代码爱编程
24. 两两交换链表中的节点 题目链接:力扣题目链接 文章讲解:代码随想录 视频讲解:帮你把链表细节学清楚! | LeetCode:24. 两两交换链表中的节点 知识点整理: 可以通过画图找出curr节点的位置,然后以此判断出终止条件 交换过程较为复杂,可以画图,找出需要记录的
代码编织梦想
24. 两两交换链表中的节点 题目链接:力扣题目链接 文章讲解:代码随想录 视频讲解:帮你把链表细节学清楚! | LeetCode:24. 两两交换链表中的节点 知识点整理: 可以通过画图找出curr节点的位置,然后以此判断出终止条件 交换过程较为复杂,可以画图,找出需要记录的
链表理论基础 题目建议:了解一下链接基础,以及链表和数组的区别 文章链接:代码随想录 203.移除链表元素 题目建议: 本题最关键是要理解虚拟头结点的使用技巧,这个对链表题目很重要
算法训练Day18 | 513. 找树左下角的值、112. 路径总和、113. 路径总和 II、106. 从中序与后序遍历序列构造二叉树、105. 从前序与中序遍历序列构造二叉树 513. 找树左下角的值112
977.有序数组的平方 题目建议: 本题关键在于理解双指针思想 题目链接:力扣 文章讲解:代码随想录 视频讲解: 双指针法经典题目 | LeetCode:977.有序数组的平方_哔哩哔哩_bilibili 知识点整理: 第一次思考的时候想的是先找到中间最接近0的值,但是看了解题思路发现可以从大到小找平方值然后再从小到大排
数组理论基础 文章链接:代码随想录 题目建议: 了解一下数组基础,以及数组的内存空间地址,数组也没那么简单。 704. 二分查找 题目建议: 大家能把 704 掌握就可以,35.搜索插入位置 和
leetcode704:二分查找 题目链接:704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现
104.二叉树的最大深度 力扣题目链接 代码实现 class Solution { public: int maxDepth(TreeNode* root) { if(root== nullptr) return 0; return max(maxDepth(root->left), maxDept
目录 977.有序数组的平方 方法一 暴力解法 方法二 双指针法 209.长度最小的子数组 59.螺旋矩阵II 977.有序数组的平方 题目链接 方法一 暴力解法 每个数平方之后,排个序 class Solution { public: vector<int> sortedSquares(vector&l
第六章 二叉树part03 104.二叉树的最大深度1.解题思路2.代码 111.二叉树的最小深度1.解题思路2.代码 222.完全二叉树的节点个数1.解题思路2.代码 总结 今日内容
算法训练Day16 | 104.二叉树的最大深度、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数 104.二叉树的最大深度559.n叉树的最大深度111.二叉树的最小深度222
今日内容 ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2 第六章 二叉树 part02 层序遍历102. 二叉树的层序遍历1.解题思路2.代码 107. 二叉树的层序遍历 II
算法训练Day15 | 226.翻转二叉树、101. 对称二叉树 226.翻转二叉树101. 对称二叉树 我新建的个人博客,欢迎访问:hmilzy.github.io 226.翻转二叉
基本概念 1.数组 数组下标都是从 0 开始的数组内存空间的地址是连续的 2.时间复杂度 时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数 3.空间复杂度 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度 4.二分法前提 数组为有序数组数组中无重复元素 704.二分查找 题目链接:704.二分查找
704. 二分查找 方法一 左闭右闭[left,right] 方法二 左闭右开[left,right) 27. 移除元素 双指针法 704. 二分查找 使用条件: 数组为有序数组数组内无重复元素 题目链接 根据定义target的区间可以分为两种方法左闭右闭[left,right]和左闭右开[left,righ
算法训练Day15 | 102. 二叉树的层序遍历、107.二叉树的层次遍历 II、199. 二叉树的右视图、637. 二叉树的层平均值、429.N叉树的层序遍历...... 102. 二叉树的层序遍历107.
不知不觉参加代码随想录的算法训练营已经两周了,今天进度也是到达了树。 今天是基础的二叉树的遍历,分为前序遍历,中序遍历,后序遍历。 方法主要有两种,第一种是递归遍历,第二种是迭代遍历。 递归遍历 144.二叉树的前序遍历 145.二叉树的后序遍历 94.二叉树的中序遍历 递归遍历的模板 res.push_back(cur->val);
算法训练Day14 | 二叉树的递归遍历、二叉树的迭代遍历、二叉树的统一迭代法 二叉树的递归遍历(前序、中序、后序)二叉树的迭代遍历(前序、中序、后序)二叉树的统一迭代法 我新建的个人博客,欢迎
leetcode 454.四数相加II 首先这道题是四个数组A、B、C、D,从每个数组中取出一个元素使得 A[i] + B[j] + C[k] + D[l] = 0,不用考虑有重复的四个元素相加等于0的情况,所以相对于题目
239.滑动窗口最大值 力扣题目链接 好家伙,是一道困难题,这是算法训练营开始以来遇到的第一道困哪题,但是还好是滑动窗口,并不是特别的难。 思路 思路的话就是运用滑动窗口,来维护单调队列,我将滑动窗口分为四步。 当前元素与队尾比较,如果比队尾大,队尾就不断出队将该点入队防止入队之后,超出滑动窗口的大小,然后判断一下,决定是否将队头出队如果
算法训练Day13 | 239. 滑动窗口最大值、347. 前 K 个高频元素 239. 滑动窗口最大值347. 前 K 个高频元素 我新建的个人博客,欢迎访问:hmilzy.github.io