会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
cqz111
博客园
首页
新随笔
联系
订阅
管理
2025年9月24日
对称二叉树
摘要: 递归做法 递归三部曲:停止条件:比较完发现没有子树而且可以判断是否相等;参数:对称的左右节点;返回值:bool,是否对称 class Solution { public: bool compare(TreeNode* left,TreeNode* right){ if(left == NULL &&
阅读全文
posted @ 2025-09-24 00:47 q_z_chen
阅读(5)
评论(0)
推荐(0)
2025年9月23日
翻转二叉树
摘要: 翻转二叉树 bfs做法 广度优先搜索一下,每一层遇到节点翻转左右孩子即可; 递归的前序、后序遍历 递归三部曲:终止条件、参数和返回值 终止条件:root == NULL 参数:root; 返回值:TreeNode* root; 主要操作是swap(root->left,root->right); 迭
阅读全文
posted @ 2025-09-23 01:44 q_z_chen
阅读(7)
评论(0)
推荐(0)
2025年9月16日
二叉树的层次遍历
摘要: 前言 代码 非递归,使用size记录我们到第几层了,每次存入一层的node只有遍历完了才进入下一次循环,queue为空了就结束 代码: class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { queue<Tr
阅读全文
posted @ 2025-09-16 16:14 q_z_chen
阅读(4)
评论(0)
推荐(0)
2025年9月15日
二叉树的迭代遍历(非递归)
摘要: 迭代使用栈; 前序遍历 遍历顺序中左右,由于先进后出的栈的特性,我们先加入右孩子再加入左孩子; 代码: class Solution { public: vector<int> preorderTraversal(TreeNode* root) { stack<TreeNode*> st; vect
阅读全文
posted @ 2025-09-15 16:55 q_z_chen
阅读(7)
评论(0)
推荐(0)
二叉树的递归遍历
摘要: 前中后序的递归遍历 递归算法的三要素 确定递归函数的参数和返回值:要确定哪些参数是递归过程中需要处理的,需要处理的就在递归函数里面加上这个参数;然后确定每次返回的递归值是什么; 确定终止条件:必须写终止条件;如果不写终止条件就会栈溢出; 确定单层递归的逻辑: 确定每一层递归需要处理的信息。在这里也就
阅读全文
posted @ 2025-09-15 02:03 q_z_chen
阅读(15)
评论(0)
推荐(0)
2025年9月12日
二叉树理论
摘要: 满二叉树:只有度数为0或者2的节点,并且度数为0的节点在同一层; 完全二叉树 除了底层节点可能没填满以外其他都填满了,并且最下面一层的节点都集中在该层最左边的若干位置。 之前我们刚刚讲过优先级队列其实是一个堆,堆就是一棵完全二叉树,同时保证父子节点的顺序关系。 二叉搜索树 前面介绍的树,都没有数值的
阅读全文
posted @ 2025-09-12 01:10 q_z_chen
阅读(6)
评论(0)
推荐(0)
栈和队列总结
摘要: 栈和队列理论 C++中stack,queue 是容器么? 我们使用的stack,queue是属于那个版本的STL? 我们使用的STL中stack,queue是如何实现的? stack,queue 提供迭代器来遍历空间么? stack和queue是STL中的容器适配器,不是类似list,vector那
阅读全文
posted @ 2025-09-12 00:58 q_z_chen
阅读(4)
评论(0)
推荐(0)
2025年9月11日
逆波兰表达式求值+滑动窗口最大值
摘要: 逆波兰力扣链接 滑动窗口力扣链接 逆波兰思路 遇到数字入栈,遇到操作符出栈两个数字x1,x2计算,计算完返回结果入栈; 滑动窗口最大值思路 已知: 给出数组vector &nums;和窗口大小k 要求返回每次移动的最大值 使用单调队列解决——Myqueue; myqueue底层数据结构是双端队列(d
阅读全文
posted @ 2025-09-11 00:58 q_z_chen
阅读(5)
评论(0)
推荐(0)
前k个高频元素
摘要: 力扣题目链接 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 提示: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于
阅读全文
posted @ 2025-09-11 00:37 q_z_chen
阅读(7)
评论(0)
推荐(0)
2025年9月10日
删除字符串中的所有相邻重复项
摘要: 力扣链接 实现方法 使用栈来实现记录前置字母(包括删除前和删除后,所以需要动态增删的容器); 基础思想很简单,代码如下: class Solution { public: string removeDuplicates(string s) { stack<char> st; int len = s.
阅读全文
posted @ 2025-09-10 19:47 q_z_chen
阅读(5)
评论(0)
推荐(0)
下一页
公告