binary tree
二叉树
keep moving 123
这个作者很懒,什么都没留下…
展开
-
226. 翻转二叉树(python3)
题目:力扣翻转一棵二叉树。示例:输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2/ \ / \9 6 3 1代码:class Solution: def invertTree(self, root: TreeNode) -> TreeNode: if not root: return None...原创 2021-11-09 11:14:20 · 102 阅读 · 0 评论 -
617. 合并二叉树(python3)
题目:力扣给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。示例1:输入: Tree 1 Tree 2 1 2 ...原创 2021-11-09 10:13:06 · 286 阅读 · 0 评论 -
543. 二叉树的直径(python3)
题目:力扣给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。解题思路:左子树+右子树+1(父节点)代表路径长...原创 2021-11-04 11:08:37 · 191 阅读 · 0 评论 -
104. 二叉树的最大深度(python3)
题目:力扣给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。代码:# Definition for a binary tree node.# class TreeNode:# def __init__(self, va...原创 2021-09-28 14:32:29 · 127 阅读 · 0 评论 -
101. 对称二叉树(python3)
题目:力扣给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[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进阶:你可以运用递归和迭代两种方法解决这个问题吗?解题思路:递归比较左子树的左孩子与右子树的右孩子,左子树的右孩子和右子树...原创 2021-09-28 14:30:48 · 135 阅读 · 0 评论 -
94. 二叉树的中序遍历(python3)
题目:力扣给定一个二叉树的根节点 root ,返回它的 中序遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[2,1]示例 5:输入:root = [1,null,2]输出:[1,2]提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val.原创 2021-09-23 14:44:25 · 433 阅读 · 0 评论