![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
小矮人有大力量
这个作者很懒,什么都没留下…
展开
-
51. N皇后
51. N 皇后难度困难n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]解释:如上图所示,4 皇后问题存在两个不同的解原创 2021-10-06 22:52:09 · 50 阅读 · 0 评论 -
46. 全排列
46. 全排列难度中等给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:• 1 <= nums.length <= 6• -10 <=原创 2021-10-06 22:49:45 · 53 阅读 · 0 评论 -
331.验证二叉树的前序序列化
331. 验证二叉树的前序序列化难度中等序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_ / \ 3 2 / \ / \ 4 1 # 6/ \ / \ / \例如,上面的二叉树可以被序列化为字符串 “9,3,4,#,#,1,#,#,2,#,6,#,#”,其中 # 代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的原创 2021-09-19 23:27:47 · 99 阅读 · 0 评论 -
106. 从中序与后序遍历序列构造二叉树
思路:后序遍历:[[左子树的前序遍历结果],[右子树的前序遍历结果],根节点]中序遍历:[[左子树的前序遍历结果],根节点,[右子树的前序遍历结果]]从后往前遍历后序遍历序列,首先拿到整棵树的根节点的值带着该值去中序遍历序列中找到该值的定位,将中序遍历分为左右两部分得出左右两部分的长度之后,就可以在后序遍历序列中找到左子树的根节点和右子树的根节点,重复上述步骤注意:比较麻烦的是区间的更新函数:buildMyTree(int[] inorder 中序遍历.原创 2021-09-19 23:23:01 · 69 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
遍历二叉树前序遍历:1. 先访问根节点2. 递归遍历左子树3. 递归遍历右子树中序遍历1. 递归遍历左子树2. 访问根节点3. 递归遍历右子树方法一:递归我们可以从前序遍历的中,找到根节点的值,再拿着这个根节点的值去中序遍历中找到根节点的位置该根节点将中序遍历的数组分为左右两个部分,分别是根节点的左子树和右子树这样我们就可以再从前序遍历中找到左子树的根节点,去遍历中序遍历的左半部分找到右子树的根节点,去遍历中序遍历的右半部分前序遍历:[根节点,[左子树的前序遍历结果],.原创 2021-09-19 23:19:51 · 46 阅读 · 0 评论 -
637. 二叉树的层平均值
层次遍历class Solution { public List<Double> averageOfLevels(TreeNode root) { if(root==null) { return null; } Queue<TreeNode> q=new LinkedList<>(); List<Double> list=new Arr.原创 2021-09-18 23:11:40 · 39 阅读 · 0 评论 -
617. 合并二叉树
方法一:深度优先搜索思路:从根节点出发,同时遍历两棵二叉树,将对应的节点进行合并两棵二叉树对应的节点分为三种情况:1. 两个对应的节点都为空,则合并后的节点也为空2. 两个对应的节点其中有一个为空,则合并后的节点为非空的节点3. 两个对应的节点都不为空,则合并后的节点为两个非空节点的值之和递归过程:对两棵树的一个节点进行合并之后,还要对其左子树和右子树进行合并1. 如果节点一为空,则返回节点二2. 如果节点二为空,则返回节点一3. 如果都不为空,将节点一和节点二的值相加,创建一个新.原创 2021-09-18 23:09:22 · 94 阅读 · 0 评论 -
2021-03-08 力扣_10 盛最多的水
力扣_10 盛最多的水给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:原创 2021-03-08 19:16:47 · 39 阅读 · 0 评论 -
2021-03-05 05 最长回文子串
05 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成来源:力扣(LeetCode)链接:https://leetcode-cn原创 2021-03-05 16:37:03 · 60 阅读 · 1 评论