二叉树的深度的概念最值得注意的地方,在于 到"叶子"节点的距离。 一般来说,如果直接说“深度”,都是指最大深度,即最远叶子的距离。 这里放两道例题,最小深度和最大深度。 1. 二叉树的最小深度 Given a binary tree, find its minimum depth. ...
二叉树的遍历 递归: . 二叉树的前序遍历 前序非递归: . 二叉树的中序遍历 中序非递归: . 二叉树的后序遍历 后序非递归: 注意:如果非递归解法难以理解,可以先按照上面的代码结合案例手推一下。重要的还是要先形成模板并记忆,间隔着多做几次也就慢慢理解了。 . 二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 即逐层地,从左到右访问所有节点 。 . 二叉树的最大深度 给定 ...
2021-08-30 09:15 0 195 推荐指数:
二叉树的深度的概念最值得注意的地方,在于 到"叶子"节点的距离。 一般来说,如果直接说“深度”,都是指最大深度,即最远叶子的距离。 这里放两道例题,最小深度和最大深度。 1. 二叉树的最小深度 Given a binary tree, find its minimum depth. ...
Easy! 题目描述: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 说明: 如果你可以运用递归和迭代两种方法解决这个问题,会很加分。 解题思路 ...
Easy! 题目描述: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最小深度 2. 解题思路: 二叉树的经典 ...
我准备开始一个新系列【LeetCode题解】,用来记录刷题,顺便复习一下数据结构与算法。 1. 二叉树 二叉树(binary tree)是一种极为普遍的数据结构,树的每一个节点最多只有两个节点——左孩子结点与右孩子结点。C实现的二叉树: DFS DFS的思想非常朴素:根据结点的连接 ...
Leetcode: 二叉树的中序遍历 中序遍历的流程:一直往左找,找到最左边的元素访问了之后,因为不存在左孩纸,所以访问完之后,再访问右子树,当右子树访问完,说明该左节点访问结束,就该回溯到上一个左节点,以此类推。 题目: 给定一个二叉树,返回它的中序遍历 ...
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 c++代码: ...
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root ...
Medium! 题目描述: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如:给定二叉树: [3,9,20,null,null,15,7], 返回其层次遍历结果: 解题思路: 层序遍历二叉树是典型的广度优先搜索BFS的应用,但是这里稍微复杂 ...