树
青柠17
这个作者很懒,什么都没留下…
展开
-
树 236. 二叉树的最近公共祖先 105. 从前序与中序遍历序列构造二叉树 102. 二叉树的层序遍历
236. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”示例:给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:...原创 2020-04-02 00:11:00 · 186 阅读 · 0 评论 -
树 94. 二叉树的中序遍历 114. 二叉树展开为链表 538/1038. 把二叉搜索树转换为累加树 98. 验证二叉搜索树
94. 二叉树的中序遍历思路1:迭代递归的调用过程是不断往左边走,当左边走不下去了,就打印节点,并转向右边,然后右边继续这个过程。我们在迭代实现时,就可以用栈来模拟上面的调用过程。代码实现1:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self...原创 2020-04-01 20:24:00 · 168 阅读 · 0 评论 -
树 226. 翻转二叉树 617.合并二叉树 101. 对称二叉树
226. 翻转二叉树翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1思路1:递归根据动画图我们可以总结出递归的两个条件如下:终止条件:当前节点为null时返回交换当前节点的左右节点,再递归...原创 2020-03-31 22:00:28 · 119 阅读 · 0 评论 -
树 112. 路径总和 113. 路径总和II 437. 路径总和III
112. 路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 1...原创 2020-03-31 17:13:12 · 136 阅读 · 0 评论 -
树 104. 二叉树的最大深度 110.平衡二叉树 543. 二叉树的直径
104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回它的最大深度 3 思路1:递归递归通式:判断一个节点的最大深度,需要...原创 2020-03-30 14:00:22 · 173 阅读 · 0 评论