牛客283182957号
牛客283182957号
全部文章
题解
归档
标签
去牛客网
登录
/
注册
牛客283182957号的博客
全部文章
/ 题解
(共37篇)
题解 | #对称的二叉树#
当进入子问题的两个节点都为空,说明都到了叶子节点,且是同步的,因此结束本次子问题,返回true;当进入子问题的两个节点只有一个为空,或是元素值不相等,说明这里的对称不匹配,同样结束本次子问题,返回false。 将一棵树看成一样的两颗树,按照对称的结构遍历,一边遍历一边比较(比较子树,即左右结点...
C++
2022-06-11
0
221
题解 | #二叉搜索树与双向链表#
第一,二叉搜索树中序遍历递增有序 第二,局部逐渐改造成双链表,一个元素先初始化if语句只执行第一次。else以后每执行一次都可以看作把一个元素加入其中(即加入的元素进行了双连接,然后更新加入的元素为pre为下一次加入元素做准备) &...
C++
2022-06-11
0
225
题解 | #按之字形顺序打印二叉树#
按照层次遍历的思想去访问。 多加了两个操作。第一,设置flag来记录反转与否,因为之字形打印就是一行反转一行不反转。 &...
C++
2022-06-10
0
234
题解 | #求二叉树的层序遍历#
层次遍历借助队列。 class Solution { public: vector<vector<int> > levelOrder(TreeNode* root) { vector&...
C++
2022-06-09
0
260
题解 | #比较版本号#
1.以点为分界点,逐段比较。 2.每一段比较将字符串转化为int数字比较 3.过程进行到两方长度都走完为止,只有0||0==0 2的转化方法如下 比较的时候,数字前导零不便于我们比较,因为我们不知道后面会出现多少前导零,因此应该将点之间的部分转...
C++
2022-06-08
0
309
题解 | #旋转数组的最小数字#
其实也就是分三种情况就是重点值大于小于等于last值,这是建立在数组有序的基础上,就算是两段,也是局部有序的。 0.二分法之后的中点要跟一个锚点比较用于下一次更新mid,本题中锚点只能选择右端点,因为题目旋转是向右旋转的不管是否旋转到尾部(旋转的数多或旋转点靠前) 情况1,arr[mid] &g...
C++
2022-06-08
0
282
题解 | #寻找峰值#
1.** 因为题目将数组边界看成最小值**,而我们只需要找到其中一个波峰,因此只要不断地往高处走,一定会有波峰。那我们可以每次找一个标杆元素,将数组分成两个区间,每次就较高的一边走,因此也可以用分治来解决,而标杆元素可以选择区间中点。 假设 nums[-1] = nums[n] = −∞这个条件也...
C++
2022-06-07
0
213
题解 | #二维数组中的查找#
四种解法时间复杂度及代码复杂程度各不同https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=295&tqId=23256&ru=/exam/oj&qru=/ta/format-top10...
C++
2022-06-07
0
211
题解 | #二分查找-I#
step 1:从数组首尾开始,每次取中点值。 step 2:如果中间值等于目标即找到了,可返回下标,如果中点值大于目标,说明中点以后的都大于目标,因此目标在中点左半区间,如果中点值小于目标,则相反。 step 3:根据比较进入对应的区间,直到区间左右端相遇,意味着没有找到。
C++
2022-06-07
0
195
题解 | #单链表的排序#
https://www.nowcoder.com/practice/f23604257af94d939848729b1a5cda08?tpId=295&tqId=1008897&ru=/exam/oj&qru=/ta/format-top101/question-rankin...
C++
2022-06-06
0
207
首页
上一页
1
2
3
4
下一页
末页