【力扣】二叉树的最近公共祖先
解题思路题目链接首先,我们要明白什么是最近公共祖先(LCA)。在二叉树中,如果一个节点r是p和q的祖先,那么p和q都在r的子树中。如果r是p和q的最近公共祖先,那么r的深度要比其他祖先节点大,也就是说,r离p和q最近。例如,下图中的二叉树,实例1节点4和7的LCA是2,示例2节点5和4的LCA是5(注意本身也可以是祖先节点)。其次,我们要知道如何找到从根节点到目标节点的路径。这里我们使用了一个递....

【力扣】二叉树的分层遍历1和2
二叉树的分层遍历1链接:二叉树的分层遍历1:首先,我们需要知道什么是二叉树的层序遍历。二叉树的层序遍历是一种按照树的层次从上到下,从左到右访问每个节点的方法。例如,对于下面这棵二叉树:1 / \ 2 3 / \ 4 5它的层序遍历结果是:[1, 2, 3, 4, 5]。那么,如何实现这种遍历方法呢?我们可以使用一个队列来辅助我们。队列是一种先进先出(FIFO)的数据结构,也...
图解LeetCode——199. 二叉树的右视图
一、题目给定一个二叉树的 根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。二、示例2.1> 示例 1:【输入】 [1,2,3,null,5,null,4]【输出】 [1,3,4]2.2> 示例 2:【输入】 [1,null,3]【输出】 [1,3]2.3> 示例 3:【输入】 []【输出】 []提示:二叉树的节点个数的范围是 [0,10....

图解LeetCode——114. 二叉树展开为链表
一、题目给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。二、示例2.1> 示例 1:【输入】root = [1,2,5,3,4,null,6]【输出】[1,null,2,null,3,null,4,null,5....

LeetCode算法小抄--二叉树的序列化
二叉树的序列化先说结论:如果你的序列化结果中不包含空指针的信息,且你只给出一种遍历顺序,那么你无法还原出唯一的一棵二叉树。如果你的序列化结果中不包含空指针的信息,且你会给出两种遍历顺序,那么按照前文所说,分两种情况:2.1. 如果你给出的是前序和中序,或者后序和中序,那么你可以还原出唯一的一棵二叉树。2.2. 如果你给出前序和后序,那么除非你的整棵树中不包含值相同的节点,否则你无法还原出唯一的一....

LeetCode算法小抄--二叉树的各种构造
构造二叉树构造最大二叉树654. 最大二叉树给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建:创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。返回 nums 构建的最大二叉树 。/** * Definition for a binary tree n.....

LeetCode算法小抄--花式遍历二叉树
花式遍历二叉树翻转二叉树226. 翻转二叉树给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。// 用「遍历」的思维模式 class Solution { public TreeNode invertTree(TreeNode root) { // 遍历二叉树,交换每个节点的子节点 traverse(root); retu...

LeetCode算法小抄--二叉树的各种遍历
二叉树二叉树解题的思维模式分两类:1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个 traverse 函数配合外部变量来实现,这叫「遍历」的思维模式。2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答案?如果可以,写出这个递归函数的定义,并充分利用这个函数的返回值,这叫「分解问题」的思维模式。两个经典排序算法 快速排序 和 归并排序,对于它俩,你有什么理解?快速排序就....

图解LeetCode——102. 二叉树的层序遍历
一、题目给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。二、示例2.1> 示例 1:【输入】root = [3,9,20,null,null,15,7] 【输出】[[3],[9,20],[15,7]]2.2> 示例 2:【输入】root = [1] 【输出】[[1]]2.3> 示例 3:【输入】root = [] 【输出】[]提....

图解LeetCode——543. 二叉树的直径
一、题目给你一棵二叉树的根节点,返回该树的 直径 。二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。两节点之间路径的 长度 由它们之间边数表示。二、示例2.1> 示例 1:【输入】root = [1,2,3,4,5]【输出】3【解释】3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。2.2> 示例 2:【输入....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
LeetCode更多二叉树相关
- LeetCode从中遍历构造二叉树
- LeetCode遍历二叉树
- LeetCode二叉树祖先
- LeetCode构造二叉树
- LeetCode二叉树层序遍历
- LeetCode二叉树遍历
- LeetCode二叉树迭代
- LeetCode二叉树序列
- LeetCode二叉树迭代层序遍历
- LeetCode剑指offer二叉树
- LeetCode binary二叉树
- LeetCode翻转二叉树
- LeetCode traversal二叉树
- LeetCode对称二叉树
- LeetCode二叉树最大深度
- LeetCode二叉树递归
- LeetCode offer从上到下二叉树
- LeetCode offer二叉树
- LeetCode binary tree order二叉树
- LeetCode binary level order traversal二叉树
- acm LeetCode二叉树
- LeetCode二叉树后序遍历
- LeetCode二叉树前序遍历
- LeetCode二叉树链表
- LeetCode二叉树层次遍历
- LeetCode二叉树中序遍历
- LeetCode二叉树树
- golang力扣LeetCode二叉树
- LeetCode depth tree二叉树
- LeetCode binary tree traversal二叉树遍历
LeetCode您可能感兴趣
- LeetCode解析
- LeetCode解码
- LeetCode字符串
- LeetCode子集
- LeetCode括号
- LeetCode算法
- LeetCode刷题
- LeetCode点数
- LeetCode策略
- LeetCode习题
- LeetCode链表
- LeetCode数组
- LeetCode python
- LeetCode元素
- LeetCode java
- LeetCode力扣
- LeetCode offer
- LeetCode面试
- LeetCode代码
- LeetCode单词
- LeetCode排序
- LeetCode实战
- LeetCode tree
- LeetCode算法解析
- LeetCode栈
- LeetCode有序数组
- LeetCode节点
- LeetCode golang
- LeetCode路径
- LeetCode二叉搜索树
算法编程
开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。
+关注