首页 > 其他分享 >101. 对称二叉树

101. 对称二叉树

时间:2023-07-28 22:02:02浏览次数:29  
标签:right return val dfs 二叉树 对称 101 root left

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

示例 1:

101. 对称二叉树_递归

输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

101. 对称二叉树_递归_02

输入:root = [1,2,2,null,3,null,3]
输出:false
# 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 isSymmetric(self, root: Optional[TreeNode]) -> bool:
        if not root:
            return True
        def dfs(left, right):
            if not left and not right:
                return True
            if not left or not right:
                return False
            if left.val!=right.val:
                return False
            a=dfs(left.left, right.right)
            b=dfs(left.right, right.left)
            return a and b
           # return dfs(left.left, right.right) and dfs(left.right, right.left)
        res = dfs(root.left, root.right)
        return res

递归

标签:right,return,val,dfs,二叉树,对称,101,root,left
From: https://blog.51cto.com/u_16123878/6887743

相关文章

  • 二叉树某个节点的深度
    微信公众号:码云成化关注可了解更多的教程及进阶技巧。问题或建议,请公众号留言;如果你觉得阿云对你有所帮助,欢迎赞赏深度的定义[当前结点的层数。默认叶子节点是null节点,深度是0。其子节点是null节点,深度是1。]普通二叉树给出上图一个普通二叉树,如果计算结点深度,......
  • Asp.Net Core 集成JWT采用Rsa非对称密钥并实现自定义身份验证
    授权和鉴权分为了两个项目。首先是授权:建立Asp.netcore项目,并在Nuget包安装System.IdentityModel.Tokens.Jwt新建一个WebApi用于登录,这里使用账户密码方便调试。另外BaseResult是我封装的一个统一返回数据类型。需要注意的是audience以及JwtRegisteredClaimNames.Name......
  • C#调用C/C++动态库dll异常:对 PInvoke 函数调用导致堆栈不对称问题
    C#调用C/C++动态库dll异常:对PInvoke函数调用导致堆栈不对称问题雨渡石桥已于2023-02-2112:04:29修改973收藏1文章标签:windowsc++c#版权结论:如果你是用C#调用C的动态库,如果出现“对PInvoke函数调用导致堆栈不对称问题”,建议优先调整CallingConvention的值,建议改为Ca......
  • 对称加密算法
    对称加密算法:指加密和解密都是同一个密钥。  包括DES,DES3,AES 参考这篇博文:(50条消息)什么是对称加密(对称加密简介)_AtlanSI的博客-CSDN博客......
  • 序列检测1011?重复检测&非重复检测
    请设计一个检测序列为1011的检测电路?序列检测一般采用状态机实现。状态机一般采用三段式状态机实现。重复检测即在1011011011中检测三次非重复检测  即在1011011011中检测两次序列检测示意:非重复检测状态转移图 重复检测状态转移图 设计代码和激励代码如下......
  • 03-二叉树的遍历
    二叉树的遍历定义:遍历是数据结构中的常见操作把所有元素都访问一遍线性数据结构的遍历比较简单分为:正序遍历和逆序遍历根据结点访问顺序的不同,二叉树的常见遍历方式有4种前序遍历(PreorderTraversal)中序遍历(inorderTraversal)后序遍历(PostorderTraversal)层序遍......
  • Redis的有序集合Zset为啥用跳表不用二叉树
    跳表和红黑树查找的时间复杂度都是logN,插入删除也是logN。范围查找貌似也都是O(k+logn),其中n是树中节点的数量,k是满足范围条件的节点数量。但是实现起来跳表要简单很多。1.zset有个很核心的操作叫范围查找,我们要查找某个范围区间的元素。跳表可以做到logN时间复杂度内的快......
  • 剑指offer--二叉树
    第3题:二叉搜索树的第k个节点描述给定一棵结点数为n的二叉搜索树,请找出其中的第k小的TreeNode结点值。返回第k小的节点值即可不能查找的情况,如二叉树为空,则返回-1,或者k大于n等等,也返回-1保证n个节点的值不一样思路递归中序遍历二叉搜索树:左子树的元素都小于根节点,右......
  • 提示工程101|与 AI 交谈的技巧和艺术
    随着ChatGPT的问世,人工智能(AI)新时代也正式开启。ChatGPT是一种语言模型。它与用户进行对话交互,以便用户输入问题或提示,模型响应,然后对话可以继续来回进行,类似于在消息传递应用程序上向实际人员发送消息的方式。随着对AI的需求不断增长,为AI模型提供信息的能力也变得同样重要......
  • 树与二叉树知识梳理
    树与二叉树知识梳理目录树与二叉树知识梳理树树的定义树的常用名词有序树和无序树树的存储父亲表达法思路代码孩子兄弟表达法思路代码树的遍历先根遍历后根遍历层次遍历二叉树二叉树的定义二叉树的性质满二叉树满二叉树的定义完全二叉树完全二叉树的定义二叉树的存储父亲表示法孩......