//returnasea
//returnasea
全部文章
题解
归档
标签
去牛客网
登录
/
注册
//returnasea的博客
全部文章
/ 题解
(共106篇)
题解 | #二叉树中是否存在节点和为指定值的路径#
二叉树的前序遍历,递归返回条件:走到叶子节点时路径的和等于sum或者不等于sum,走到空结点时为false。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * };...
C++
2021-10-12
0
426
题解 | #滑动窗口的最大值#
使用max_element()函数对一个范围的数组求最大值。 class Solution { public: vector<int> maxInWindows(const vector<int>& num, unsigned int size) { ...
C++
2021-10-12
0
319
题解 | #有重复项数字的所有排列#
回溯法,求排列的问题在回溯函数中需要用到used标记数组,同时还需要进行去重。去重的方法有两种,一种是在递归返回条件的地方,判断结果集中是否已存在path;另一种是在回溯是判断,对于一排序的序列num,如果后面的元素与前面的元素重复,则只使用前面的第一个元素。 class Solution { pu...
C++
2021-10-12
0
373
题解 | #删除有序链表中重复的元素-I#
当下一个元素与下下个元素相同时,删除下下个元素。 /** * struct ListNode { * int val; * struct ListNode *next; * }; */ class Solution { public: /** * * @pa...
C++
2021-10-12
1
406
题解 | #重排链表#
首先把链表中的所有结点都保存到vector中,然后双指针left和right分别向数组中间走,重新按照要求拉链。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNod...
C++
2021-10-12
0
331
题解 | #LFU缓存结构设计#
LFU缓存中元素的换入换出由两个排序码决定:使用次数cont和时间戳time。定义struct结点并且重写<运算符函数,使用红黑树保存结点,就能实现结点按要求自动排序,另外再使用哈希表保存<key,node>,实现了通过key的查找。然后在get和set的过程中更新cont及tim...
C++
2021-10-12
0
464
题解 | #数字字符串转化成IP地址#
回溯分割字符串。用'.'的个数作为递归返回条件。 class Solution { public: /** * * @param s string字符串 * @return string字符串vector */ bool is_valid(...
C++
2021-10-06
0
414
题解 | #顺时针旋转矩阵#
顺时针旋转之后,行列发生了变换,模拟行列的变换即可。 class Solution { public: vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) { ...
C++
2021-10-06
0
425
题解 | #判断二叉树是否对称#
当左子节点和右子节点都为空时,对称;当左子节点和右子节点一个为空一个不为空时,不对称;当左子节点和右子节点都不为空时,如果两者的值相等则对称,否则递归外侧和内侧的结点,递归判断。 /** * struct TreeNode { * int val; * struct TreeNode *lef...
C++
2021-10-06
0
362
题解 | #二叉树的最大路径和#
二叉树任意节点之间的最大路径和=根结点的值+左子树的最大路径+右子树的最大路径。递归求解。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ clas...
C++
2021-10-06
0
377
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页