三木orz
三木orz
全部文章
题解
经验总结(2)
归档
标签
去牛客网
登录
/
注册
三木的博客
记录刷题过程~
全部文章
/ 题解
(共20篇)
*题解 | #在二叉树中找到两个节点的最近公共祖先#
递归法寻找公共祖先 class Solution { public: int lowestCommonAncestor(TreeNode* root, int o1, int o2) { // write code here return commonAnc...
C++
2022-03-18
0
293
题解 | #二叉搜索树的最近公共祖先#
利用二叉搜索树的性质,当当前节点值比p和q都要大时,说明最小公共节点在左子树上;当当前节点值比p和q都要小时,说明最小公共节点在右子树上 当当前节点值介于p和q之间时,说明已经找到最近公共节点 class Solution { public: int lowestCommonAncesto...
C++
2022-03-17
0
379
题解 | #判断是不是完全二叉树#
层序遍历完全二叉树遇到Null节点时已经结束 使用层序遍历,当前节点不为空时,不管其子节点是否为空,都加入队列,便于后续判断 设立一个end标志位,遇到end时置为true,若end为true时遇到非空节点,说明不是完全二叉树 /** * struct TreeNode { * int va...
C++
2022-03-16
0
270
题解 | #判断是不是二叉搜索树#
建立辅助数组,中序遍历,再逐个比较,看遍历结果是否有序 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), le...
C++
2022-03-14
0
315
题解 | #合并二叉树#
- 递归,直接在t1上修改 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** ...
C++
2022-03-13
0
284
题解 | #求二叉树的层序遍历#
二维数组vector< vector>arr的插入数据:不能用arr[0].push_back(val)这种方式,而是要先简历一个临时一维数组,把数插入,再把这个临时数组差入到二维数组里 层序遍历,使用队列先进先出,两层while循环: 第一层:当队列不为空时 第二层:当目前所在层未遍...
C++
广度优先搜索
2022-03-11
0
339
题解 | #比较版本号#
双指针,每次对一个修改号进行比较 时间O(MAX(m,n)) 空间O(1) class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 比较版本号 * @param ...
C++
双指针
2022-03-10
0
331
题解 | #寻找峰值#
二分法查找 如果mid的值大于mid+1,说明山峰在左边,令right = mid 如果mid的值小于mid+1,说明山峰在右边,令left = mid + 1 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返...
C++
2022-03-07
0
348
题解 | #二维数组中的查找#
由于数组每行递增、每列递增,所以查找从右上方开始,向左向下移动,判断当前值与目标值的大小关系 时间复杂度O(m+n),m为行数,n为列数 空间复杂度O(1) class Solution { public: bool Find(int target, vector<vector<...
C++
2022-03-07
0
320
题解 | #删除有序链表中重复的元素-II#
设置头节点方便处理 双指针,pre指向已处理好的链表的最后一个节点,p指向当前要判断的节点 while循环遍历链表,停止条件是p为空或p->next为空 当当前节点与下一节点相等时,while循环找到与当前节点不等的节点tmp,将pre指向tmp,当前节点更新为tmp,继续判断当前...
C++
2022-03-05
0
316
首页
上一页
1
2
下一页
末页