11 2024 档案
摘要:问题描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 分析 由于该题不仅要考虑数据的轴对称,还要考虑结构的轴对称,例如 所以需要两个方向的递归同时进行,过程中比较对称结点的值是否相等。 class Solution { public: bool solve(TreeNode* l_ro
阅读全文
摘要:知识点 不同教材有差异,按照这个理解:层数从0开始,也就是根结点是第0层,树的深度=高度,都是最大层数 问题描述 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们
阅读全文
摘要:问题描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 法一、递归 单独递归函数,返回TreeNode* x,x是从当前层开始的逆转后的树的根结点 class Solution { public: TreeNode* solve(TreeNode* root) { if (r
阅读全文
摘要:问题描述 给定一个二叉树 root ,返回其最大深度。 二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。 可以使用dfs和bfs两种方法针对树的层数进行遍历,并记录。 递归方法 可以用递归解决,比较简单,用递归函数的返回值承载答案,x表示从当前层到最深层的深度。 class Solu
阅读全文
摘要:问题描述 给定root,返回中序遍历,答案格式: class Solution { public: vector<int> inorderTraversal(TreeNode* root) { } }; 则: 将vector作为static或者全局变量,可以在该函数中实现递归; 写另外一个函数专门用
阅读全文