首页 > 其他分享 >给你一个二叉树的根节点 root , 检查它是否轴对称。

给你一个二叉树的根节点 root , 检查它是否轴对称。

时间:2022-10-16 19:47:15浏览次数:73  
标签:None right return val root self 二叉树 轴对称

用两个指针去遍历这棵树,(并使用深度优先 中序遍历方法)一个指针从左方向开始遍历,一个指针从右方向开始遍历。比较结构与数据

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right

class Solution:
    def isbalance(self, p: Optional[TreeNode], q: Optional[TreeNode]):
        if p is None and q is None:
            return True
        elif p is None or q is None:
            return False
        elif p.val != q.val:
            return False
        else:
            return self.isbalance(p.left,q.right) and self.isbalance(p.right,q.left)
    def isSymmetric(self, root: Optional[TreeNode]) -> bool:
        return self.isbalance(root,root)

标签:None,right,return,val,root,self,二叉树,轴对称
From: https://www.cnblogs.com/szj666/p/16796877.html

相关文章

  • #yyds干货盘点# LeetCode 热题 HOT 100:二叉树的中序遍历
    题目:给定一个二叉树的根节点root,返回它的中序 遍历。 示例1:输入:root=[1,null,2,3]输出:[1,3,2]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]代码实现:cla......
  • 654. 最大二叉树
    题目描述给定一个不重复的整数数组 nums。 最大二叉树 可以用下面的算法从 nums递归地构建:创建一个根节点,其值为 nums中的最大值。递归地在最大值 左边 的 ......
  • 层序遍历递归删除二叉树
    层序遍历递归删除二叉树什么是递归删除?从叶节点开始向根节点的方向逐层删除。直观的讲,对于以下二叉树,递归删除的次序为:f->g->h->i->d->e->b->c->a递......
  • 树与二叉树
    二叉树性质:度为0的节点比度为2的节点多一个。解释:度为1的节点均可忽略;度为2的节点就相当于分割点,而度为0的节点就相当于线段;不分割时即有一条线段,当每多一个分割点时,线段......
  • 广义表转二叉树
    前序遍历和中序遍历&后序遍历和中序遍历可以还原出唯一的二叉树,而前序遍历和后序遍历不行(满二叉树时貌似可以,但只有一个根节点和一个子孩子时一定不行)//输入:A(B(,D),......
  • 数据结构:二叉树
    定义特点每个节点最多有两棵子树,所以二叉树中不存在度大于2的节点。左子树和右子树是有区别的,次序不能颠倒。即使某个节点只有1个子节点,也是有左右之分的。特殊的......
  • 114. 二叉树展开为链表
    题目描述给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展......
  • 二叉树(存储结构,三种遍历方式,构建树)——C语言描述
    二叉树(存储结构,三种遍历方式,构建树)——C语言描述目录二叉树(存储结构,三种遍历方式,构建树)——C语言描述0测试用例框架1定义2特殊二叉树3二叉树的性质4二叉树存储结构5......
  • 226. 翻转二叉树
    题目描述解题思路二叉树的题一般都有对应的模板,我们做题时可以参考对应模板二叉树解题的思维模式分两类:1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个trav......
  • 617. 合并二叉树
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(......