二叉树
深夜的雨声
这个作者很懒,什么都没留下…
展开
-
实现二叉树先序,中序和后序遍历
C++实现二叉树三种遍历方式,非递归。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param root TreeNode类 the root of binary tree * @return int整型vector<vector<原创 2022-03-20 18:47:13 · 1109 阅读 · 0 评论 -
使用迭代方法实现二叉树的层次遍历(非递归)
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 这里使用一个队列存储节点,因为队列的特点是先进先出,利用一个参数判断当前层是...原创 2019-08-02 18:48:14 · 207 阅读 · 0 评论 -
验证一颗二叉搜索树
题目描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 这里有一种错误的思路:判断当前节点大于左节点,小于右节点,以此递归下去,当不满足上面条件就返回false。 其实这里存在一个小bug,当二叉树满足以上条件可能也不是二叉搜索树...原创 2019-08-01 15:39:44 · 174 阅读 · 0 评论 -
计算二叉树的深度
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。如果只有一个结点,则树的深度为1。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : ...原创 2019-08-06 08:42:00 · 6546 阅读 · 0 评论