树
树相关
等不了天明
这个作者很懒,什么都没留下…
展开
-
06.对称二叉树
题目: 给定一个二叉树,检查它是否是镜像对称的。示例:二叉树 [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:思路: ...原创 2021-05-22 00:04:31 · 119 阅读 · 0 评论 -
05.树的最大深度
题目: 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。题解1(自底向上的方法):思路: 类似与后序遍历,某个树的高等于max(子树)+1。代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * Tre原创 2021-05-21 12:59:45 · 185 阅读 · 0 评论 -
04.树的层序遍历
题目: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7输出:[ [3], [9,20], [15,7]]思路: 利用队列先进先出的特点,对树一层一层地遍历,每一次处理完后,对不为空的儿子节点入队,并将自己出队。/** * Definition for a binary tree nod原创 2021-05-21 10:50:37 · 180 阅读 · 0 评论 -
01.树的先序遍历
递归代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr)原创 2021-05-20 00:34:09 · 179 阅读 · 0 评论 -
03.树的后序遍历
递归:思路:按照前后中的顺序即可,递归实现起来比较简单。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(n原创 2021-05-20 11:41:44 · 297 阅读 · 0 评论 -
02.二叉树的中序遍历
递归:思路:按照左中右的顺序,访问二叉树即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullpt原创 2021-05-20 11:20:22 · 57 阅读 · 0 评论