二叉树镜像对称

来源:互联网 发布:mac相簿和照片的区别 编辑:程序博客网 时间:2024/05/01 01:12
public class tmp {public static void main(String[] args) {TreeNode p1 = new TreeNode(8);TreeNode p2 = new TreeNode(6);TreeNode p3 = new TreeNode(9);TreeNode p4= new TreeNode(5);TreeNode p5 = new TreeNode(7);TreeNode p6 = new TreeNode(7);TreeNode p7 = new TreeNode(5);p1.left = p2;p1.right = p3;p2.left = p4;p2.right = p5;p3.left = p6;p3.right = p7;System.out.println(isSymmetrical(p1));}public static boolean isSymmetrical(TreeNode pRoot) {if (pRoot == null){return true;}return isSame(pRoot.right, pRoot.left);}public static boolean isSame(TreeNode t1, TreeNode t2) {if(t1==null&&t2==null){return true;}else if((t1!=null&&t2==null)||(t1==null&&t2!=null)){return false;}else return isSame(t1.left, t2.right) && isSame(t1.right, t2.left)&&t1.val==t2.val;}public static class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}}}

0 0