![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
FF的CC
人生看淡,不服就干
展开
-
LeetCode-树-对称的二叉树
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 3示例 1:输入:root = [1,2,2,3,4...原创 2020-12-03 22:10:52 · 111 阅读 · 0 评论 -
LeetCode-树-根据前序遍历与中序遍历求树
根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-in...原创 2020-12-02 22:22:01 · 221 阅读 · 0 评论 -
leetcode-树-删点成林
给出二叉树的根节点root,树上每个节点都有一个不同的值。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: .原创 2020-11-30 23:34:40 · 105 阅读 · 0 评论 -
leetcode-树-从根到叶的二进制数之和
给出一棵二叉树,其上每个结点的值都是0或1。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数01101,也就是13。对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。返回这些数字之和。题目数据保证答案是一个 32 位 整数。示例 1:输入:root = [1,0,1,0,1,0,1]输出:22解释:(100) + (101) + (110) + ...原创 2020-11-30 23:26:09 · 104 阅读 · 0 评论 -
LeetCode-树-求和路径
给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量。注意,路径不一定非得从二叉树的根节点或叶节点开始或结束,但是其方向必须向下(只能从父节点指向子节点方向)。示例:给定如下二叉树,以及目标和sum = 22, 返回:3解释:和为 22的路径有:[5,4,11,2], [5,8,4,5], [4,11,7]来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob...原创 2020-11-30 23:22:25 · 147 阅读 · 0 评论 -
LeetCode-树-具有所有最深节点的最小子树
给定一个根为root的二叉树,每个节点的深度是 该节点到根的最短距离 。如果一个节点在 整个树 的任意节点之间具有最大的深度,则该节点是 最深的 。一个节点的 子树 是该节点加上它的所有后代的集合。返回能满足 以该节点为根的子树中包含所有最深的节点 这一条件的具有最大深度的节点。注意:本题与力扣 1123 重复:https://leetcode-cn.com/problems/lowest-common-ancestor-of-deepest-leaves/示例 1:...原创 2020-11-28 21:05:22 · 246 阅读 · 0 评论 -
LeetCode-树-合法二叉搜索树
实现一个函数,检查一棵二叉树是否为二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/legal-binary-sear...原创 2020-11-26 22:43:30 · 99 阅读 · 0 评论 -
LeetCode-树-路径总和
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为存在目标和为...原创 2020-11-25 22:50:52 · 67 阅读 · 0 评论 -
LeetCode-树-二叉树剪枝
给定二叉树根结点root,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例1:输入: [1,null,0,0,1]输出: [1,null,0,null,1]解释:只有红色节点满足条件“所有不包含 1 的子树”。右图为返回的答案。示例2:输入: [1,0,1,0,0,0,1]输出: [1,null,1,null,1]示例3:输入: [1,1,0,1,1,...原创 2020-11-24 22:10:06 · 114 阅读 · 0 评论 -
LeetCode-树-树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:3/ \4 5/ \1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,1,2], B = [4,...原创 2020-11-21 21:05:11 · 147 阅读 · 0 评论 -
LeetCode-树-完全二叉树的节点个数
给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~2h个节点。示例:输入: 1 / \ 2 3/ \ /4 5 6输出: 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-complete-tree-no...原创 2020-11-20 23:03:57 · 292 阅读 · 0 评论 -
LeetCode-树-103. 二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-zigzag-le...原创 2020-11-18 22:48:49 · 80 阅读 · 0 评论 -
LeetCode-树-平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true来源:力扣(LeetCode)链接:https://leetcode-cn.com/..原创 2020-11-17 22:26:02 · 86 阅读 · 0 评论 -
LeetCode-树-好叶子节点对数
题干:给你二叉树的根节点 root 和一个整数 distance 。如果二叉树中两个 叶 节点之间的 最短路径长度 小于或者等于 distance ,那它们就可以构成一组 好叶子节点对 。返回树中 好叶子节点对的数量 。示例 1:输入:root = [1,2,3,null,4], distance = 3输出:1解释:树的叶节点是 3 和 4 ,它们之间的最短路径的长度是 3 。这是唯一的好叶子节点对。示例 2:输入:root = [1,2,3,4,5,6,7], di原创 2020-11-17 22:13:39 · 272 阅读 · 0 评论 -
电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"这是一道类似全排列的题目,使用递归思想void digui_out(int idx, strin...原创 2020-03-15 23:57:24 · 145 阅读 · 0 评论