对称的二叉树
来源:互联网 发布:阿里云解析dns 编辑:程序博客网 时间:2024/05/29 15:10
题目:
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
思路:
二叉树的遍历,不管是前序,中序还是后序都是先遍历左结点,然后再是右结点。设计一个先遍历右结点的前序遍历方法。然后和前序遍历序列进行比较,一样的就是对称序列。需要注意的是在遍历过程中遇到null也要加入遍历序列防止出现下面的情况:
1
/ \
1 1
/ \
1 1 前序和先右再左的前序序列是一样的但是并不是对称二叉树。
代码:
/*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) { return isSymmetrical(pRoot,pRoot); } boolean isSymmetrical(TreeNode pRoot1,TreeNode pRoot2){ if(pRoot1 == null && pRoot2 == null){ return true; } if(pRoot1 == null || pRoot2 == null){ return false; } if(pRoot1.val != pRoot2.val){ return false; } return isSymmetrical(pRoot1.left,pRoot2.right) && isSymmetrical(pRoot1.right,pRoot2.left); }}
阅读全文
0 0
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- IoBuildAsynchronousFsdRequest创建IRP数据包_异步
- date转string 12小时 24小时
- c# 正则提取小例子
- svn:冲突(<<<<<<.mine ==== >>>>>>.xxxx)
- 错误MISCONF Redis is configured to save RDB snapshots 的解决方法
- 对称的二叉树
- Ubuntu中rename命令和批量重命名
- gpg 的使用
- Redux学习总结
- 欢迎使用CSDN-markdown编辑器
- JavaWeb-Hibernate-三种状态
- css之居中布局
- 微积分1:求极限(2)
- 136 Single Number 找到只出现一次的数