当前位置: 首页 > wzjs >正文

银川网站设计公司hdwiki做网站

银川网站设计公司,hdwiki做网站,动态的网页制作,wordpress导航菜单修改对称二叉树 题目题解1. 递归2. 递归 解释1. 对称2. 非对称 题目 101. 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 题解 1. 递归 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val0, leftNone,…

对称二叉树

    • 题目
    • 题解
      • 1. 递归
      • 2. 递归
    • 解释
      • 1. 对称
      • 2. 非对称

题目

101. 对称二叉树

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

在这里插入图片描述

题解

1. 递归

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def isSymmetric(self, root):""":type root: TreeNode:rtype: bool"""if not root:return Truereturn self.compare(root.left, root.right)def compare(self, left, right):#首先排除空节点的情况if left == None and right != None: return Falseelif left != None and right == None: return Falseelif left == None and right == None: return True#排除了空节点,再排除数值不相同的情况elif left.val != right.val: return False#此时就是:左右节点都不为空,且数值相同的情况#此时才做递归,做下一层的判断outside = self.compare(left.left, right.right) #左子树:左、 右子树:右inside = self.compare(left.right, right.left) #左子树:右、 右子树:左isSame = outside and inside #左子树:中、 右子树:中 (逻辑处理)return isSame

来自:代码随想录在这里插入图片描述

2. 递归

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def isSymmetric(self, root):""":type root: TreeNode:rtype: bool"""if not root:return Truedef dfs(left, right):# 递归的终止条件是两个节点都为空# 或者两个节点中有一个为空# 或者两个节点的值不相等if not (left or right):return Trueif not (left and right):return Falseif left.val!=right.val:return False# 外侧和内侧return dfs(left.left, right.right) and dfs(left.right, right.left)return dfs(root.left, root.right)

解释

1. 对称

假设有一个二叉树如下:

    1/ \2   2/ \ / \
3  4 4  3

步骤 1: 初始调用
isSymmetric 方法首先检查根节点 1 是否为空。根节点不为空,所以调用 dfs(root.left, root.right),即检查 root.left 和 root.right 是否对称。root.left 和 root.right 都是值为 2 的节点。

步骤 2: 递归判断
对于 left 节点和 right 节点(值为 2),检查它们的左右子树是否对称。

比较 left.left 和 right.right(即 3 和 3)。它们值相等,继续递归。

比较 left.right 和 right.left(即 4 和 4)。它们值相等,继续递归。

步骤 3: 递归继续
递归深入到 left.left 和 right.right(3 和 3),以及 left.right 和 right.left(4 和 4)。它们的值相等,因此返回 True。

步骤 4: 完成判断
由于所有的对称条件都满足,最终返回 True,表示该二叉树是对称的。

2. 非对称

考虑以下不对称的二叉树:

    1/ \2   2\   \3   3

步骤 1: 初始调用
isSymmetric 方法检查根节点 1,然后调用 dfs(root.left, root.right),即检查 root.left 和 root.right 是否对称。

root.left 和 root.right 都是值为 2 的节点。

步骤 2: 递归判断
对于 left 和 right(值为 2),继续检查它们的左右子树。

比较 left.left 和 right.right,但是 left.left 是空的,right.right 是值为 3 的节点,返回 False。

步骤 3: 完成判断
由于递归过程中发现不对称,最终返回 False,表示该二叉树不是对称的。


文章转载自:

http://OPdrf8aG.gcgtc.cn
http://K6DEXfqJ.gcgtc.cn
http://cYkPcV1g.gcgtc.cn
http://HHNQQjAs.gcgtc.cn
http://I8zISBdy.gcgtc.cn
http://ht97KDq3.gcgtc.cn
http://arHCtj2G.gcgtc.cn
http://LnrUTDkF.gcgtc.cn
http://EaeVSFf8.gcgtc.cn
http://Mh6z3I1X.gcgtc.cn
http://DrqijT0G.gcgtc.cn
http://AaOxYfk5.gcgtc.cn
http://H9sKQXt3.gcgtc.cn
http://ybwYM84h.gcgtc.cn
http://kCSvFDDn.gcgtc.cn
http://e5c25uNJ.gcgtc.cn
http://DRjnJ1Nv.gcgtc.cn
http://e17JH4ez.gcgtc.cn
http://h9eh0m8n.gcgtc.cn
http://dVBgUo9J.gcgtc.cn
http://3TU11L12.gcgtc.cn
http://07aoftE3.gcgtc.cn
http://5m3tBa1S.gcgtc.cn
http://7VJN3HVJ.gcgtc.cn
http://2DeyzDaZ.gcgtc.cn
http://mrIcyOey.gcgtc.cn
http://FrHID4O4.gcgtc.cn
http://uY2tnkGo.gcgtc.cn
http://QaQZ5hYs.gcgtc.cn
http://qT0LcIFf.gcgtc.cn
http://www.dtcms.com/wzjs/765679.html

相关文章:

  • 用腾讯云做淘宝客网站视频流程网络营销是什么时候兴起的
  • wordpress 站中站企业网站实验报告
  • 北京网站建设外包公司排名创新的网站建站
  • 中国神鹰网站建设郑州网站建设zzmshl
  • 共享vps可以做网站吗国航网站建设
  • 网上书城网站建设目的规模以上工业企业利润总额
  • 公司网站开发招标书境外网站
  • 购物网站详细设计株洲百度推广公司
  • 找聊城做网站网页设计实训报告总结1000字免费
  • 织梦做网站的教程会计证初级报考时间2023年报名
  • 定制网站开发报价单15年做那个网站能致富
  • jsp网站开发参考文献wordpress google 慢
  • 能源企业 网站建设实训网站建设的心得总结
  • 企业网站app网页和网站做哪个好
  • 网页设计与制作精品课程网站想给公司做个网站怎么做
  • 手机asp网站开发工具周浦手机网站策划建设公司
  • dede仿站wordpress默认分类链接
  • 网站建设有哪些知识点成都市成华区建设路商务中心网站
  • aspx网站html静态化怎么做乐陵seo优化
  • 模板做的网站如何下载地址绥阳网站建设
  • 当涂县微网站开发wordpress 3.2 漏洞
  • 长沙网站推广广州好蜘蛛网站建设
  • 广东圆心科技网站开发建站教程详解什么是二级域名网站
  • 网站首页html代码在哪如何用网页设计制作个人网站
  • 中国银行门户网站如何给网站做流量
  • 嘉兴市住房和城乡建设局网站福建省城市建设厅网站
  • 库存网站建设哪家好潜江哪里做网站
  • 刚做的网站怎么搜索不出来的网站运行速度慢的原因
  • 做彩票网站多少钱开原 铁岭网站建设
  • 东城网站建设电脑页面设计怎么弄