[编程题]对称的二叉树
来源:互联网 发布:突破网络系统的第一步 编辑:程序博客网 时间:2024/06/06 04:16
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*///将二叉树“补成”完全二叉树,利用中序遍历来查看两边的节点是否对称。import java.util.ArrayList;import java.util.Iterator;public class Solution { ArrayList<Integer> in= new ArrayList<Integer>(); boolean isSymmetrical(TreeNode pRoot) { if(pRoot==null){ return true; } else{ middle(pRoot); Iterator it =in.iterator(); int []array=new int[in.size()]; int index=0; while(it.hasNext()){ array[index]=(Integer) it.next(); index++; } for(int i=0;i<array.length/2;i++){ if(array[i]!=array[array.length-1-i]){ return false; } } } return true; } public void middle(TreeNode pRoot){ if(pRoot.left!=null){ middle(pRoot.left); } if((pRoot.left==null&&pRoot.right!=null)){ in.add(0); } in.add(pRoot.val); if((pRoot.left!=null&&pRoot.right==null)){ in.add(0); } if(pRoot.right!=null){ middle(pRoot.right); } }}
0 0
- [编程题]对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- php 设计模式
- Network Useful Knowledge
- php中get和post的区别以及什么时候用get什么时候用post详解
- iOS中的NSOperation
- 第九周:C语言:切面条
- [编程题]对称的二叉树
- 【Python】pdf文件处理之“PyPDF2”库简易安装笔记
- KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释
- 100天土鸡饲养计划(78)
- BZOJ 1679: [Usaco2005 Jan]Moo Volume 牛的呼声
- JQuery 的三种ajax提交方式
- Java核心技术点之多线程
- Xcode8 兼容swift2.X问题(持续更新中)
- Git clone远程目录443:Timed out 问题