C++ 刷题记录
文章平均质量分 96
从2025.4.9开始使用c++进行刷题 记录自己学习方便后续复习
当然一个题可能会上传多次 主要是记录思路
上传一次文章就代表着学会的是当下的思路
想睡hhh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Practice 2025.6.1—— 二叉树进阶面试题(2)
本文讲解了二叉树前序遍历和中序遍历的非递归实现方法。重点分析了使用栈结构模拟递归过程的核心思路。 对于前序遍历,提出两种方法: 边入栈边访问,通过循环回退找到右子树 先访问根节点后出栈,再依次入栈右、左子节点 对于中序遍历: 必须先完成左子树访问才能处理根节点,访问时机在回退阶段 同样需要通过栈来回退并寻找右子树 两种遍历都充分利用了栈的后进先出特性,通过不同的入栈顺序和访问时机实现了遍历顺序的精确控制。文章通过具体代码示例和图示详细说明了实现逻辑和注意事项。原创 2025-06-02 00:06:14 · 977 阅读 · 0 评论 -
Practice 2025.5.29 —— 二叉树进阶面试题(1)
本文摘要: 《部分二叉树进阶面试题(1)》探讨了LeetCode中两道具有挑战性的二叉树题目。606题要求将二叉树转换为特定格式的字符串,通过分析括号插入规则,提出递归遍历控制括号插入的解决方案。236题寻找二叉树的最近公共祖先,分析了传统思路的局限性,提出利用节点位置特性的高效解法。两题均强调递归思维的应用,并针对C++特性优化了实现方案,避免了C语言造轮子的复杂性。文章通过实例分析和代码展示,帮助读者掌握处理复杂二叉树问题的核心思路。原创 2025-05-29 20:54:25 · 933 阅读 · 1 评论 -
Leetcode——137 260找出只出现一次的数
算出数组中所有数字第i位1的出现次数(Onenum),如果是3的倍数,那么ans的这一位就是0,正好是Onenum取余3的结果。如果按照刚刚的思想来分类也是不太可能的,因为分类的情况下,可能出现一次的数据和出现三次的数据会被分到一块,这是很难办的。以此类推,我们很容易得知:对于整个数组来说,第i位出现的0和1的次数一定是一个为3的倍数,一个比3的整数倍还多一个。这题对于引入的例子也是修改了一点:只有一个数字出现一次,其他的会出现3次,找出只出现一次的数据,并且要求线性时间复杂度,常数级别空间复杂度。原创 2025-04-14 23:36:42 · 883 阅读 · 0 评论 -
Leetcode12 13——罗马数字与整数之间的转换
2.如果该值以 4 或 9 开头,使用 减法形式,表示从以下符号中减去一个符号,例如 4 是 5 (V) 减 1 (I): IV ,9 是 10 (X) 减 1 (I):IX。仅使用以下减法形式:4 (IV),9 (IX),40 (XL),90 (XC),400 (CD) 和 900 (CM)。你不能多次附加 5 (V),50 (L) 或 500 (D)。1.如果该值不是以 4 或 9 开头,请选择可以从输入中减去的最大值的符号,将该符号附加到结果,减去其值,然后将其余部分转换为罗马数字。原创 2025-04-10 15:28:39 · 1038 阅读 · 0 评论 -
Leetcode 69——不使用sqrt函数情况下求平方根整数部分(暴力求解法和二分查找法)
时间复杂度为O(LogX),其实很好理解,如果x比较大,那么跑的次数会非常接近刚刚的那个数46431,其实也就是x的平方根整数部分,那效率还是比较低的。就比如我要找10的平方根,从10开始找才是更快的,从50000开始为上界那就不太行了。所有类型的数据最大的平方根也不超过50000,所以我们做一个规定,如果传入的x小于等于50000,就让上界为x,反之为50000。就比如找90000的平方根,暴力查找要找300次,而二分查找只需要14次(大致计算),这个效率差是非常大的。很明显,这个思路是可行的。原创 2025-04-10 13:25:25 · 903 阅读 · 0 评论
分享