11 2020 档案
摘要:题目 链接:https://leetcode-cn.com/problems/container-with-most-water 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (
阅读全文
摘要:[leetCode]78. 子集 16/100 保存草稿 发布文章 renweiyi1487 未选择任何文件 题目 链接:https://leetcode-cn.com/problems/subsets 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/palindrome-partitioning 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a",
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例:
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/sort-integers-by-the-number-of-1-bits 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同,则必须将它们
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/word-ladder 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的
阅读全文
摘要:递归 需要想清楚五种情况如注释所示,利用递归的返回值来删除目标节点 class Solution { public TreeNode deleteNode(TreeNode root, int key) { // 第一种情况,没有找到删除节点直接返回null if (root == null) re
阅读全文
摘要:题目 题目:链接:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意
阅读全文
摘要:题目 https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/ 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/find-mode-in-binary-search-tree 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为
阅读全文
摘要:递归 二叉搜索树转化为有序数组 class Solution { List<Integer> ans = new ArrayList<>(); public boolean isValidBST(TreeNode root) { traversal(root); for (int i = 1; i
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如,
阅读全文
摘要:一次遍历 这题的关键是判断两个区间是否存在交集,比如区间$S_1[l_1,r_1],S_2[l_2, r_2];如果r_1<l_2说明S_1在S_2左侧无交集,如果l_1>r_2则说明S_1>S_2则S_1在S_2右侧无交集,如果不符合以上两个条件则说明有交集,\(则可以通过\)[max(l_1,l
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/merge-two-binary-trees 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/maximum-binary-tree 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值
阅读全文
摘要:递归 思路: 直观的想法是从底向上遍历,如果发现p在当前节点左子树q在当前节点右子树或者p在当前节点右子树,q在当前节点左子树时则说明当前节点是p与q的最小公共祖先。 二叉树的后序遍历正好符合自底向上的遍历条件,因此使用后序遍历。这题由于要使用回溯所以返回值不能为空 class Solution {
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/binary-tree-paths 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/path-sum-ii 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value 给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 输入: 2 / \ 1 3 输出: 1 示例 2: 输入: 1 / \ 2 3 / / \ 4 5 6 /
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/sum-of-left-leaves 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 递归 判断当前节点是不是左叶子是无
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/subtree-of-another-tree 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树
阅读全文
摘要:题目 链接:https://leetcode-cn.com/problems/invert-binary-tree 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 BFS 思路: 按照二叉树进行分层遍历
阅读全文
摘要:题目 https://leetcode-cn.com/problems/average-of-levels-in-binary-tree/ 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出:[3, 14.5, 11] 解释:
阅读全文