刷题专辑
文章平均质量分 68
落禅
风吹柳叶遮黄雀,薄翅不知已落蝉
展开
-
36. 有效的数独
36. 有效的数独请你判断一个 9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 ‘.’ 表示。注意:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。输入:board = [["5","3",".",".","7",原创 2021-09-17 21:32:23 · 753 阅读 · 5 评论 -
链表的排序
148. 排序链表你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]链表排序的最佳方法:归并排序1.找到中间节点2.将中间节点断成左右两半,然后原创 2021-09-11 12:30:38 · 10743 阅读 · 25 评论 -
二叉树的层序遍历
107. 二叉树的层序遍历 II给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其自底向上的层序遍历为:[ [15,7], [9,20], [3]]首先完成二叉树的层序遍历,然后将数组进行逆置,就完成了自低向下的二叉树的层序遍历,故此题的难点是完成二叉树的原创 2021-09-10 16:46:21 · 230 阅读 · 2 评论 -
二叉树刷题
剑指 Offer 55 - I. 二叉树的深度输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。该题目比较简单,为二叉树基本类型的题目,二叉树一般都要用到递归来解决首先我们能够想到,一个数如果root==nullptr,说明该数节点为0,如果ro原创 2021-09-06 18:59:52 · 132 阅读 · 1 评论 -
回溯算法刷题合集
回溯算法刷题合集组合问题77. 组合给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]//回溯算法求组合问题://1.首先构建数组存放要返回的值//2.判断递归结束的条件//3.for循环遍历(注意看清楚从哪个位置开始遍历)//4.递归//5.回溯//回溯相当于进行n层for循环原创 2021-09-06 18:56:48 · 348 阅读 · 0 评论 -
栈和队列刷题集合
栈刷题集合面试题 03.02. 栈的最小值请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。//示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.getMin(); --> 返回 -3.minStack.pop();原创 2021-09-06 18:53:44 · 336 阅读 · 15 评论 -
string刷题集合
string刷题集合简单题1.验证回文字符串125. 验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。**说明:**本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false本题思路比较清楚,对于大多数人来说上来就是直接双指针开干,也不看题目,这就导致下面的问题:[外链图片转存失败,源原创 2021-09-06 17:59:34 · 317 阅读 · 1 评论