对称的二叉树判断
2015-06-18 21:34
453 查看
对称的二叉树判断
题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。编码思路
如果一颗二叉树对称的话 根节点的两个左右子树有什么关系呢?对左子树前序遍历 遍历顺序为 中 左 右
对右子树前序遍历 遍历顺序为 中 右 左
结果我们发现遍历序列顺序是相同的
That is All
代码
[code]/* 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 isSymmetrical( pRoot.left, pRoot.right); } boolean isSymmetrical(TreeNode pRoot,TreeNode pRoot1){ if(pRoot==null&&pRoot1!=null){ return false; } if(pRoot1==null&&pRoot!=null){ return false; } if(pRoot1!=null&&pRoot!=null){ if(pRoot.val!=pRoot1.val){ return false; } } if(pRoot==null&&pRoot1==null) { return true; } return isSymmetrical( pRoot.left, pRoot1.right)&& isSymmetrical( pRoot.right, pRoot1.left); } }
相关文章推荐
- 描述项目的典型用户与场景
- 【kd-tree】bzoj3489 A simple rmq problem
- Extjs6的Application Architecture(应用架构)介绍
- javascript学习
- Swift2.0 类基础知识
- iOS游戏开发之UIDynamic
- ListView 使用方法(Asp.Net)
- 用户调研
- 服务端与客户端跳转的区别
- 关于github开源项目Context-Menu.Android详解
- 【kd-tree】bzoj4066 简单题
- hdu 1548 升降梯
- 第七章 C控制语句:分支和跳转
- 常用句式的英文写法
- 【二维莫队】【二维分块】bzoj2639 矩形计算
- 核心技术 卷1 笔记
- 安卓--有道词典
- 稿件要不要催审和拒审?——一个编辑的话
- 在WinCE下调用校准触摸屏的API和源代码
- 进程调度(二)