02 2021 档案
摘要:题目链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number 题目描述: 示例 1: 输入:digits = "23" 输出:["ad","ae","af","bd","be","bf","cd","ce","
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/combination-sum-iii 题目描述: 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/combinations 题目描述: 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2]
阅读全文
摘要:题目链接: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/ 题目描述: 题解: /** * Definition for a binary tree node. * struct Tree
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-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.中序遍历二叉树,得到一个有序数组 2.遍历数组,比较两个相邻元素的差值,返回最小值 /** * Definition for
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/validate-binary-search-tree 题目描述: 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/maximum-binary-tree 题目描述: 给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下: 二叉树的根是数组 nums 中的最大元素。 左子树是通过数组中 最大值左边部
阅读全文
摘要:1.从中序与后序遍历序列构造二叉树 题目链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ 题目描述: 题解: 第一步:如果数组大小为零的话,说明是空节点了。
阅读全文
摘要:1.对称二叉树 题目链接:https://leetcode-cn.com/problems/symmetric-tree/ 题目描述: 题解: class Solution { public: bool check(TreeNode *p, TreeNode *q) { if (p == NULL
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value/ 题目描述:给定一个二叉树,在树的最后一行找到最左边的值。 题解: 层序遍历,每次遇到当前层的第一个元素记录,遍历到最后一层时,即找到了左下角的值。 /** * Def
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/binary-tree-paths/ 题目描述: 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 解题: /** * Definition for a binary tre
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/balanced-binary-tree 题目描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:ro
阅读全文
摘要:1.二叉树的最大深度 题目链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree 题目描述:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/invert-binary-tree/ 题目描述: 方法一:层序遍历(BFS) 采用层序遍历的方式,每遍历一个节点,就将该节点的左右孩子交换。 /** * Definition for a binary tree node.
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/binary-tree-right-side-view/ 题目描述: 1.二叉树的右视图 思路:二叉树层序遍历的时候,判断是否遍历到单层的最后面的元素,如果是,就放进result数组中。 /** * Definition f
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/ 题目描述: 1.自上而下层序遍历二叉树。 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 二叉树:[
阅读全文
摘要:1.中序遍历(左-中-右) 题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 方法一:递归法 /** * Definition for a binary tree node. * struct TreeNode
阅读全文