疏凉
疏凉
全部文章
分类
题解(101)
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
(共101篇)
题解 | #树的子结构#
有一颗树为空,返回false; 比较当前子树匹配是否相同,左右子树匹配是否相同; 匹配条件: 子树为NULL,返回true; 主树为NULL或主树值与子树值不相等,返回false; 继续比较各自子树。 /* struct TreeNode { int val; struct TreeNode ...
C++
二叉树
2022-04-01
0
289
题解 | #二叉搜索树的第k个节点#
中序遍历,按顺序记录数组; 取第k个元素。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nul...
C++
二叉搜索树
2022-04-01
0
306
题解 | #按之字形顺序打印二叉树#
使用队列进行层序遍历; 根据层数判断数组是否需要反转; 记录每层的遍历结果。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) :...
C++
二叉树
队列
2022-04-01
0
253
题解 | #重建二叉树#
前序和中序确定二叉树 前序数组的第一项为根节点; 根据前序数组的第一项确定中序数组的分割点,分为左中序数组和右中序数组; 根据左中序数组的大小,将前序数组分为左前序数组和右中序数组; 左节点由左前序数组和左中序数组确定; 右节点由右前序数组和右中序数组确定。 /** * Definition f...
C++
二叉树
2022-04-01
0
326
题解 | #不用加减乘除做加法#
相与表示进位,异或为相加。 class Solution { public: int Add(int num1, int num2) { while (num2 != 0) { int carry = num1 & num2; ...
C++
数学
2022-03-31
0
223
题解 | #数字序列中某一位的数字#
若非0元素不重复,且最大值和最小值相差不超过5,返回true; 否则,返回false。 class Solution { public: bool IsContinuous( vector<int> numbers ) { unordered_map<in...
C++
数组
数学
哈希表
2022-03-31
0
210
题解 | #构建乘积数组#
计算第i个元素外的数组乘积 class Solution { public: vector<int> multiply(const vector<int>& A) { vector<int> result; for...
C++
数组
数学
2022-03-31
0
197
题解 | #第一个只出现一次的字符#
记录字符出现的次数; 遍历找到第一个次数为1的位置。 class Solution { public: int FirstNotRepeatingChar(string str) { unordered_map<char, int> map; f...
C++
字符串
哈希表
2022-03-31
0
225
题解 | #数字在升序数组中出现的次数#
二分法找到当前数字在数组中的位置; 基于该位置左右遍历,找到相同数字的个数。 class Solution { public: int GetNumberOfK(vector<int> data ,int k) { int left = 0; i...
C++
数组
数学
二分查找
2022-03-31
0
263
题解 | #买卖股票的最好时机(一)#
计算收益:prices[i]-prices[i-1]; 计算连续收益的最大值。 class Solution { public: /** * * @param prices int整型vector * @return int整型 */ i...
C++
数组
贪心
2022-03-31
0
266
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页