二叉树
抓起的第一个娃娃
这个作者很懒,什么都没留下…
展开
-
LeetCode-二叉树的层次遍历
LeetCode-二叉树的层次遍历题目描述给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)。如:二叉树:[3,9,20,null,null,15,7]返回其层序遍历结果:思路将树的各层节点放在数组里,再遍历数组获取子节点的值,最主要的是把各层的节点单独放在一个列表里存起来。(开始没考虑单独存一行的数据,出错了以后才重新修改)代码实现# Definition for a binary tree node.# class TreeNode(objec原创 2021-04-19 18:11:28 · 138 阅读 · 0 评论 -
LeetCode-对称二叉树
LeetCode-对称二叉树题目描述给定一个二叉树,检查它是否是镜像对称的。例1:二叉树 [1,2,2,3,4,4,3] 是对称的。例2:下面这个 [1,2,2,null,3,null,3] 不是镜像对称的:例3:下面这个 [1,2,3] 不是镜像对称的:思路根节点存在时,检查左右子树是否存在且值是否相等,接下来再递归比较左子树的左子树和右子树的右子树,以及左子树的右子树和右子树的左子树。代码实现```python```python# Definition for a原创 2021-04-14 13:37:30 · 79 阅读 · 1 评论 -
二叉树的递归遍历
二叉树的递归遍历在做有关二叉树的编程题目时,二叉树的遍历经常会用到。此处做下记录。二叉树的先序、中序、后序遍历使用递归实现时,代码实现比较简单,仅是根节点的访问顺序不同,使用python实现如下:先序遍历:先访问根节点,再依次递归遍历左子树和右子树,代码如下:class Solution: def preorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int转载 2021-04-13 17:40:06 · 199 阅读 · 1 评论 -
LeetCode-检验两棵树是否相同
LeetCode-检验两棵树是否相同题目描述给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。例1:例2:例3:思路使用树的先序遍历,在根节点值相等的时候再分别比较左子树和右子树,要考虑两棵树结构不同的情况。代码实现# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, va原创 2021-04-12 14:04:04 · 445 阅读 · 2 评论