jxust18A
jxust18A
全部文章
分类
题解(8)
归档
标签
去牛客网
登录
/
注册
jxust18A的博客
全部文章
(共9篇)
题解 | #链表内指定区间反转#
思路如下: 1.首先考虑简单点的场景,反转整个链表 如果是反转整个链表的话,我们要做的是将原本某个节点的next指向这个节点的前一个节点(将前一个节点记为pre) 对与 [1 ->...
C++
链表
2022-08-31
1
332
题解 | #顺时针旋转矩阵#
其实主要就是两次翻转,把注意力放在矩形的四个角上,顺时针赚90度,其实可以转换成"/"对角线翻转一次,然后上下对称翻转一次,具体看代码 例如: 最初 [[1,2,3], [4,5,6], [7,8,9]] 首先"/"对角线翻转 [[9,6,3], [8,5,2], [7,4,1]] ...
C++
2021-12-14
0
425
题解 | #二叉搜索树的最近公共祖先#
首先根据题知道这颗树是二叉搜索树,那么就有性质:根节点大于左子节点,小于右子节点,各个节点的值也不同 现在需要我们判断两个节点的最近祖先,其实根据二叉搜索树的性质来处理就好了。进行dfs,当这两个节点大于当前遍历到的节点那么就在最近祖先就在右子树中,当这两个节点小于当前遍历到的节点那么就在最近祖先...
C++
2021-12-12
0
347
题解 | #长度为 K 的重复字符子串#
主要思路就是创建一个滑动窗口,窗口大小为k,滑动窗口从左到右遍历这个字符串,右边加入字符,左边弹出字符,类似队列,然后用vis标记这个滑动窗口中的这k个字母,当出现超过两个次的字母,将计数器加一,同样当弹出字符时,若此时滑动窗口中的该字符只有一个了,那么就将计算器减一。只要计数器的值大于0,那么就说...
C++
2021-12-03
0
563
题解 | #判断是不是完全二叉树#
题目要我们判断是不是完全二叉树,首先要知道完全二叉树的性质: 若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k层所有的结点都连续集中在最左边,这就是完全二叉树。 那么知道性质之后就好进行判断了,我这里提供的思路是自顶向下dfs,当出现了缺少左孩子的节点...
C++
2021-12-03
0
562
题解 | #N皇后问题#
主要思路就是位运算,枚举每一行,然后当在某个(i,j)上放置之后将这一列和两个方向的对角线都标记上即可 class Solution { public: /** * * @param n int整型 the n * @return int整型 */ ...
C++
深度优先搜索
2021-11-03
0
447
题解 | #缺失的第一个正整数#
主要思想就是,如果找最小未出现的正整数,必然在1~n+1中,所以对于所有a[i],如果a[i]在[1,n]中,那么就放到这个位置上去,否则大于n或者小于1的话,就不管它, O(n)复杂度 class Solution { public: /** * 代码中的类名、方法名、参数名已经...
C++
2021-11-02
13
1435
题解 | #最长无重复子数组#
主要思想就是双指针然后用set存区间中的值 class Solution { public: /** * * @param arr int整型vector the array * @return int整型 */ int maxLength(...
C++
2021-11-02
0
396
题解 | #括号生成#
来个简单点的写法,主要就是考虑什么时候放左右括号的问题 class Solution { public: /** * * @param n int整型 * @return string字符串vector */ void dfs(string...
C++
2021-11-02
0
492