疏凉
疏凉
全部文章
分类
题解(101)
归档
标签
去牛客网
登录
/
注册
疏凉的博客
全部文章
(共101篇)
题解 | #删除链表中重复的结点#
设置虚拟头结点,用于记录最终返回结果; 定义pre记录不重复节点,cur用于判断当前节点是否重复; 如果出现重复节点,cur指向当前重复节点的最后一个; pre下一节点指向非重复节点(当前重复节点最后一个的下一个节点); 如果当前节点不重复,保留当前节点; 遍历结束,返回最终结果。 /* stru...
C++
链表
2022-04-28
0
277
题解 | #数据流中的中位数#
排序后,如果数据长度为偶数,返回中间两个数据的平均值; 如果数据长度为奇数,返回中间数据值。 class Solution { public: vector<int> result; void Insert(int num) { result.push_...
C++
数组
数学
2022-04-28
0
272
题解 | #字符串的排列#
对字符串进行排序,用于后续剔除重复排序; 采用递归+回溯,当组合长度等于字符串长度时,将该组合放入结果并返回; 如果本层已使用过相同原始,跳过本次组合; 如果当前元素还未使用过,则将该元素放入本次组合,继续进行本次组合,返回后弹出该元素继续进行其他组合; 所有情况遍历完成后,返回最终排列结果。 c...
C++
字符串
深度优先搜索
回溯
2022-04-28
0
355
题解 | #字符串的排列#
先进行排序,按照字典升序的方式,给出所有排列结果。 class Solution { public: vector<string> Permutation(string str) { vector<string> result; if...
C++
字符串
2022-04-28
0
273
题解 | #最小的K个数#
采用优先队列,按照升序排列数组; 将最小的k个数放入结果。 class Solution { public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { if (k...
C++
数组
堆(优先队列)
2022-04-28
0
291
题解 | #二叉搜索树与双向链表#
定义TreeNode数组,存入中序遍历结果; 建立双向链表关系,返回链表头结点。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x)...
C++
二叉搜索树
链表
2022-04-27
0
287
题解 | #二叉搜索树的后序遍历序列#
序列长度为0,返回false; 序列长度为1,返回true; 后序遍历的最后一个元素为根节点,二叉搜索树左子节点元素一定小于根值,右子节点元素一定大于根值; 递归判断左子树和右子树。 class Solution { public: bool VerifySquenceOfBSTMin(v...
C++
二叉搜索树
2022-04-27
0
242
题解 | #栈的压入、弹出序列#
压入、弹出序列为空,或者大小不一致,返回false; 定义栈,依次放入压入序列,如果栈不为空,且栈顶元素等于弹出序列元素,弹出栈顶元素,对比下一弹出序列元素; 最后栈为空,返回true,否则返回false。 class Solution { public: bool IsPopOrder(...
C++
栈
2022-04-27
0
279
题解 | #把字符串转换成整数(atoi)#
如果字符串为空,直接返回0; 剔除字符串开始的空格; 如果字符串全为空格,返回0; 判断正负号,如果没有,默认为'+',正负号标识只允许出现一次,否则返回0; 处理后面的数字部分,如果为其他字符,跳出当前循环,返回最终结果; 如果累计结果超过最大整数范围,返回范围内最大正负数。 class Sol...
C++
字符串
数学
2022-04-27
0
301
题解 | #求1+2+3+...+n#
前n项和公式:n(n-1)/2; 利用2维数组,bool为1字节。 class Solution { public: int Sum_Solution(int n) { bool a[n][n + 1]; return sizeof(a) >> ...
C++
数学
2022-04-27
2
194
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页