python对称二叉树该如何理解

  介绍

这期内容当中小编将会给大家带来有关python对称二叉树该如何理解,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<节>

题目描述

给定一个二叉树,检查它是否是镜像对称的。

例如,二叉树<代码>[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

解题方案

,

思路

<李>

标签:dfs

<李>

递归结束条件:

<李>

都为空指针则返回真正的

<李>

只有一个为空则返回假

<李>

递归过程:

<李>

判断两个指针当前节点值是否相等

<李>

判断了的右子树与B的左子树是否对称

<李>

判断了的左子树与B的右子树是否对称

<李>

短路:在递归判断过程中存在短路现象,也就是做<代码>与操作时,如果前面的值返回假则后面的不再进行计算

<李>

时间复杂度:O (n)

<人物>  python对称二叉树该如何理解”>
  ,<figcaption>算法动图</figcaption> </图>,<h4>代码</h4> <节> <pre> <代码>类解决方案{</代码> <代码>,,公共布尔isSymmetric (TreeNode根){</代码> <代码>,,,,返回isMirror(根、根);</代码> <代码>,代码,}</> <代码> <br/> </代码> <代码>,,公共布尔isMirror (TreeNode TreeNode t1, t2){</代码> <代码>,,,,如果(t1==零,,t2==null)返回true; </代码> <代码>,,,,如果(t1==null | | t2==null)返回false; </代码> <代码>,,,返回(t1。val==t2.val) </代码> <代码>,,,,,,,,isMirror (t1。对,t2.left) </代码> <代码>,,,,,,,,isMirror (t1。离开,t2.right); </代码> <代码>,,}</代码> <代码>}</代码> </>之前,,,</节> </节> <p类=敖樯堋?上述就是小编为大家分享的python对称二叉树该如何理解了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。</p><h2 class=python对称二叉树该如何理解