- 博客(18)
- 收藏
- 关注
原创 代码随想录算法训练Day22 | 235. 二叉搜索树的最近公共祖先 & 701.二叉搜索树中的插入操作 & 450.删除二叉搜索树中的节点
【代码】代码随想录算法训练Day22 | 235. 二叉搜索树的最近公共祖先 & 701.二叉搜索树中的插入操作 & 450.删除二叉搜索树中的节点。
2023-08-14 20:39:08
84
原创 代码随想录算法训练Day21| 530.二叉搜索树的最小绝对差 & 501.二叉搜索树中的众数 & 236. 二叉树的最近公共祖先
【代码】代码随想录算法训练Day21| 530.二叉搜索树的最小绝对差 & 501.二叉搜索树中的众数 & 236. 二叉树的最近公共祖先。
2023-08-13 17:07:51
95
1
原创 代码随想录算法训练Day20 | 654.最大二叉树 & 617.合并二叉树 & 700.二叉搜索树中的搜索 & 98.验证二叉搜索树
【代码】代码随想录算法训练Day20 | 654.最大二叉树 & 617.合并二叉树 & 700.二叉搜索树中的搜索 & 98.验证二叉搜索树。
2023-08-01 19:46:25
101
1
原创 代码随想录算法训练Day18 | 513.找树左下角的值 & 112. 路径总和 & 113.路径总和ii & 106.从中序与后序遍历序列构造二叉树 & 105.从前序与中序遍历序列构造二叉树
迭代法——层序遍历存储每一层数值,最后弹出最后一层第一个数值即为所求递归法。
2023-07-25 17:05:48
120
原创 代码随想录算法训练Day16 | 104.二叉树的最大深度 & 111.二叉树的最小深度 & 222.完全二叉树的节点个数
递归法迭代法——层序遍历。
2023-07-19 21:43:57
43
原创 代码随想录算法训练Day15 | 层序遍历 & 226.翻转二叉树 & 101.对称二叉树 2
【代码】代码随想录算法训练Day15 | 层序遍历 & 226.翻转二叉树 & 101.对称二叉树 2。
2023-07-19 16:50:39
38
原创 代码随想录算法训练Day11 | 20.有效的括号 & 1047.删除字符串中的所有相邻重复项 & 150.逆波兰表达式求值
用字符串模拟栈:用字符串尾部作为栈的入口,因此入栈的元素全部放在字符串尾部push_back;弹出元素同理从字符串头部弹出pop_back。push_back():用于向std::vector & std::deque容器的末尾添加元素。stoi() 作用是将n进制的字符串转为十进制。push():用于向栈中添加元素。字符串用“ ”,而非' '
2023-07-11 15:57:14
47
原创 代码随想录算法训练D8 | 344.反转字符串 & 541.反转字符串Ⅱ & 剑指Offer 05.替换空格 | 151.翻转字符串里的单词 | 剑指Offer 58-Ⅱ.左旋转字符串
从前向后填充是O(n^2)的算法,因为每次添加元素都要将添加元素之后的所有元素向后移动。数组填充类问题,都可以预先给数组扩容到填充后的大小,然后再从后向前进行操作。
2023-07-08 15:51:01
77
1
原创 代码随想录算法训练D7 | 454. & 383. & 15. & 18
【代码】代码随想录算法训练D7 | 454. & 383. & 15. & 18。
2023-07-06 17:22:01
72
1
原创 代码随想录算法训练DAY6 | 哈希表 & 242 & 349 & 202
哈希表式根据关键码的值而直接进行访问的数据结构。(数组就是一张哈希表)哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素。一般哈希表都是用来快速判断一个元素是否出现集合里。
2023-07-03 22:47:11
80
1
原创 代码随想录算法训练第三天 | 203.移除链表元素 707.设计链表 206.反转链表
int val;//节点上存储的元素//指向下一个节点的指针每道题的思路基本都是对的,但是目前C++相关知识薄弱,很多语法定义不是很清晰,需要补习。
2023-07-01 22:19:25
38
原创 代码随想录算法训练第二天 | 977./ 209./
同样用双指针算法来完成。之前写的代码忘记了求和,只关注了双指针的边界及移动,因此长度值一直未变。后面加上了求和过程。求和sum后和target的判断应为循环而不是一次判断,因为里面涉及到左指针的不停移动。考虑到使用双指针法,但想的是一次将两个指针的平方值同时放入新数组,此时指针的移动会变得复杂,需移动三个指针。看了文章讲解每次只放入一个最大值,因此只需改变两个指针,豁然开朗。写此题时,虽然坚持了左闭右开的原则,但是对于循环几圈、怎么填中间位置考虑的不全。
2023-06-29 17:01:55
341
1
原创 代码随想录算法训练第一天|704.二分查找、27.移除元素
两种方法主要区别在于右区间是开或闭,闭的时候下标right指向最后一个元素,开的时候下标right需指向最后元素的下一个元素,这样才能确保最后元素会被遍历。在初始化right,和遍历过程中每次更新right时都要如此考虑。双指针法(快慢指针法),用一个循环完成两个循环的工作。
2023-06-28 20:16:30
604
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人