java、python语言判断一棵二叉树是否对称
来源:互联网 发布:java输入年份判断闰年 编辑:程序博客网 时间:2024/04/29 03:05
假设一棵二叉树有N层
第二层:左节点=右节点
第三层:左左=右右,左右=右左
第四层:左1左=右1右,左1右=右1左,左2左=右2右,左2右=右2左(1为外,2为内)
。
。
。
我们使用递归实现
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def isSymmetrical(self, pRoot): if not pRoot: return True return self.panduan(pRoot.left,pRoot.right)#递归实现函数 def panduan(self,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 return self.panduan(left.left,right.right) and self.panduan(left.right,right.left)下面是java实现代码:
public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}public class Solution { boolean isSymmetrical(TreeNode pRoot) { if(pRoot==null)return true; return compare(pRoot.left,pRoot.right); } public boolean compare(TreeNode left,TreeNode right){ if(left==null)return right==null; if(right==null)return false; if(left.val!=right.val)return false; return compare(left.left,right.right)&&compare(left.right,right.left); }}
0 0
- java、python语言判断一棵二叉树是否对称
- 判断一棵二叉树是否为对称的 java
- C++ 判断一棵二叉树是否对称
- Java代码 判断一棵二叉树是否为对称的
- 判断一颗二叉树是否为对称二叉树
- leetcode_101. Symmetric Tree 对称树, 判断一棵二叉树是否对称,递归方法
- 判断二叉树是否对称
- 判断二叉树是否对称
- 判断二叉树是否对称
- 判断二叉树是否对称
- 判断二叉树是否对称
- 判断二叉树是否对称
- 判断一颗二叉树是否镜像对称
- 14.剑指offer-判断一颗二叉树是否对称
- 【二叉树】判断二叉树是否对称
- js判断是否二叉树是否对称
- 剑指offer-----判断二叉树是否对称(java版)
- 判断是否为对称二叉树
- C程序设计几个有意思的小例子
- 关于几种退出方法
- Codeforces 349 B Color the Fence (思维+贪心)
- 常用图像数据集大全(分类,跟踪,分割,检测等)
- Android framework源码结构
- java、python语言判断一棵二叉树是否对称
- 学习日记
- 12.7
- (3)元素
- namespace详解
- 16 - 12 - 08 弗洛伊德算法(Floyd)-最短路径 - Фрейд
- PHP高并发高负载系统架构
- k-近邻算法
- Oracle,day5,PL/SQL