Maokt
Maokt
全部文章
分类
题解(109)
归档
标签
去牛客网
登录
/
注册
Maokt的知识小河
持续学习,共同成长
全部文章
(共108篇)
题解 | #链表中的节点每k个一组翻转#
算法思想一:栈 解题思路: 利用栈的先进后出规则实现链表的翻转 1、首先遍历链表k个结点入栈,若k大于链表的长度则直接返回链表不翻转 2、栈内结点出栈(翻转) 3、判断剩下的链表个数够不够k个(少于k个不需要反转,大于k个重复 1、2步骤) 4、将已翻转的部分与剩...
链表中的节点每k个一组翻转
2021-07-12
27
3243
题解 | #最长的括号子串#
算法思想一:栈 解题思路: 主要通过栈,可以在遍历给定字符串的过程中去判断到目前为止扫描的子串的有效性,同时能得到最长有效括号的长度。 具体做法是始终保持栈底元素为当前已经遍历过的元素中「最后一个没有被匹配的右括号的下标」,这样的做法主要是考虑了边界条件的处理,栈里其他元素维护左括号的下...
最长的括号子串
2021-07-12
29
3375
题解 | #二叉树的下一个结点#
算法思想一:暴力法 解题思路: 直接模拟题意。题意需要找到某个结点中序遍历的下一个结点,那很显然可以这样: 1、根据给出的结点求出整棵树的根节点 2、根据根节点递归求出树的中序遍历,存入res中 3、在res中查找当前结点,则当前结点的下一结点即为所求。 1、当找到当前结点是数组最...
二叉树的下一个结点
2021-07-09
24
1509
题解 | #对称的二叉树#
算法思想一:递归 解题思路: 对称二叉树定义: 对于树中 任意两个对称节点 L 和 R ,一定有: L.val = R.val:即此两对称节点值相等。 L.left.val = R.right...
对称的二叉树
2021-07-09
5
1746
题解 | #把二叉树打印成多行#
算法思想一:层次遍历+栈 解题思路: 算法流程: 1、特殊情况:如果树的根节点为空,则直接返回 【】 2、初始化:返回列表 res ,辅助栈 stack 3、层次遍历循环 当栈为空跳出: 1、新建列表tmp,用于临时存储当前层打印结果 &nbs...
把二叉树打印成多行
2021-07-09
1
503
题解 | #按之字形顺序打印二叉树#
算法思想一:层次遍历+栈 解题思路: 主要利用层次遍历二叉树的节点,并根据奇偶层添加二叉树的节点 算法流程: 1、特殊情况:如果树的根节点为空,则直接返回 【】 2、初始化:返回列表 res ,二叉树层索引 index,辅助栈 3、层次遍历循环 当栈为空跳出: ...
按之字形顺序打印二叉树
2021-07-09
19
4387
题解 | #删除链表中重复的结点#
算法思想一:递归 解题思路: 主要利用递归算法对有序链表递归遍历删除重复的节点 1、特殊情况,如果 pHead 为空,那么肯定没有值出现重复的节点,直接返回 pHead ;如果 pHead.next 为空,那么说明链表中只有一个节点,也没有值出现重复的节点,也直接返回 p...
删除链表中重复的结点
2021-07-08
4
937
题解 | #扑克牌顺子#
算法思路一:集合set + 遍历 解题思路: 根据题意,此 55 张牌是顺子的 充分条件 如下: 除大小王外,所有牌 无重复 ; 设此 55 张牌中最大的牌为 max ,最小的牌为 min (...
扑克牌顺子
2021-07-08
4
1165
题解 | #翻转单词序列#
算法思想一:分割+倒序 解题思路: Python : 由于 split() 方法将单词间的 “多个空格看作一个空格” (参考自 split()和split(' ')的区别 ),因此不会出现多余的 “空单词” 。因此,直接利用 reverse() 方法翻转单词列表 strs ,拼接为字符串...
翻转单词序列
2021-07-08
10
1341
题解 | #左旋转字符串#
算法思想一:遍历 解题思路: 将字符串 s 分为两个部分,分别对两部分循环遍历,形成左旋转字符串 1、判断特殊情况:字符串 s 为空字符,n > len(s),直接返回空字符 2、创建返回字符 res,循环遍历字符串 s 的【n,len(s)-1】,依次添加到res中 ...
左旋转字符串
2021-07-08
2
813
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页