摘要:
STL堆/优先队列(priority_queue) 优先级队列需要包含头文件,优先级队列的定义如下: priority_queue<typename, container, functional> typename是数据的类型; container是容器类型,可以是vector,queue等用数组实 阅读全文
posted @ 2025-04-15 14:54
涛Tao
阅读(58)
评论(0)
推荐(0)
摘要:
刷题笔记Day18:二叉树part06 题目:二叉搜索树的最小绝对差 530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 思路:就是一个中序遍历的过程,使用双指针的方式来实现,和昨天最后一道题目相似 class Solution { public: TreeNode* pre = nul 阅读全文
posted @ 2025-04-15 14:54
涛Tao
阅读(10)
评论(0)
推荐(0)
摘要:
刷题笔记Day16:二叉树part05 题目:最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 思路:和昨天的最后两题即为相似,重要的是单层逻辑和终止条件 终止条件:输入的数组大小为0或者为1(具体代码中有写) 单层循环逻辑:找到数组中的最大值,将最大值作为创建节点的值,之后通过遍历逻 阅读全文
posted @ 2025-04-15 14:52
涛Tao
阅读(16)
评论(0)
推荐(0)
摘要:
刷题笔记Day15:二叉树part04 题目:找树左下角的值 513. 找树左下角的值 - 力扣(LeetCode) 递归思路: 返回值:null 终止条件:是否为根节点,若为根节点则返回值 单层逻辑:分别从左子树和右子树进行向下的搜索,从而计算每个节点的高度,协助找到左下角的值,注意每层需要回溯。 阅读全文
posted @ 2025-04-15 14:52
涛Tao
阅读(16)
评论(0)
推荐(0)
摘要:
刷题笔记Day14:二叉树part03 题目:平衡二叉树 110. 平衡二叉树 - 力扣(LeetCode) 思路: 返回值:层数 终止条件:如果root == nullptr 单层循环逻辑:判断左右子树的返回值是否为-1,若为-1说明此树已经不是平衡二叉树了,若值不为-1则需要判断最后子树的返回值 阅读全文
posted @ 2025-04-15 14:51
涛Tao
阅读(17)
评论(0)
推荐(0)
摘要:
刷题笔记Day13:二叉树part02 题目:翻转二叉树 226. 翻转二叉树 - 力扣(LeetCode) 思路:使用递归的方式使用前序或后序的方式来进行操作,在每一个节点出都使用swap来将左右子树进行调转(有时间可以模拟以下过程) 每次做到这道题一定要想一下为什么不能用中序 class Sol 阅读全文
posted @ 2025-04-15 14:51
涛Tao
阅读(18)
评论(0)
推荐(0)
摘要:
刷题笔记Day12:二叉树part01递归 递归 递归三部曲: 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 前序遍历 144. 二叉树的前序遍历 - 力扣(LeetCode) 递归法: /** * Definition for a binary tree node. * struc 阅读全文
posted @ 2025-04-15 14:51
涛Tao
阅读(12)
评论(0)
推荐(0)
摘要:
刷题笔记Day11:栈与队列part02 题目:150. 逆波兰表达式求值 150. 逆波兰表达式求值 - 力扣(LeetCode) 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 '+'、'- 阅读全文
posted @ 2025-04-15 14:51
涛Tao
阅读(32)
评论(0)
推荐(0)
摘要:
刷题笔记Day10:栈与队列part01 题目: 232.用栈实现队列 232. 用栈实现队列 - 力扣(LeetCode) 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 阅读全文
posted @ 2025-04-15 14:51
涛Tao
阅读(10)
评论(0)
推荐(0)
摘要:
刷题笔记Day9:字符串Part2 题目: 151.翻转字符串里的单词(没做出来) 151. 反转字符串中的单词 - 力扣(LeetCode) 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺 阅读全文
posted @ 2025-04-15 14:51
涛Tao
阅读(18)
评论(0)
推荐(0)
摘要:
刷题笔记Day8字符串Part1 题目:344.反转字符串 344. 反转字符串 - 力扣(LeetCode) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 阅读全文
posted @ 2025-04-15 14:50
涛Tao
阅读(12)
评论(0)
推荐(0)
摘要:
刷题笔记Day21:二叉树part08 题目:修剪二叉搜索树 669. 修剪二叉搜索树 - 力扣(LeetCode) 做错的原因:我在前序遍历二叉树的过程中只要碰到小于low的节点就直接返回右子树,在大于high的节点就直接返回左子树,这样做不能确保返回的左右子树是否满足要求,因此需要对返回的左右子 阅读全文
posted @ 2025-04-15 14:50
涛Tao
阅读(5)
评论(0)
推荐(0)
摘要:
刷题笔记Day20:二叉树part07 题目:二叉搜索树的最近公共祖先 235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 思路:因为是搜索二叉树,因此可以使用二叉树的特性来进行搜索 二叉树特性:节点左子树的值都小于该节点,右子树的值都大于该节点。 根据上面的特性可以从上至下搜索树,若 阅读全文
posted @ 2025-04-15 14:25
涛Tao
阅读(14)
评论(0)
推荐(0)
摘要:
Day5:哈希表 哈希表基础:代码随想录 总结:哈希表是拿空间换时间,当需要快速知道一个元素是否在某一集合中时,可以使用。 常见的三种哈希结构:(摘自代码随想录) 数组 set (集合) map(映射) 集合 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率 std::set 阅读全文
posted @ 2025-04-15 13:34
涛Tao
阅读(27)
评论(0)
推荐(0)
摘要:
刷题笔记Day7:哈希表Part2 题目: 454.四数相加II 454. 四数相加 II - 力扣(LeetCode) 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, 阅读全文
posted @ 2025-04-15 13:34
涛Tao
阅读(11)
评论(0)
推荐(0)
摘要:
刷题笔记Day4:链表 题目:24. 两两交换链表中的节点 力扣题目链接 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 本题目是一个模拟的过程,其过程如下图所示: 上面是一个模拟的过程,为了方便在代码的最前面加了一个虚拟头 阅读全文
posted @ 2025-04-15 13:33
涛Tao
阅读(13)
评论(0)
推荐(0)

浙公网安备 33010602011771号