【题目】请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
1 package com.exe7.offer; 2 3 /** 4 * 【题目】请实现一个函数,用来判断一颗二叉树是不是对称的。 5 * 注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 6 * @author WGS 7 * 8 */ 9 public class SymmetricalTreeNode { 10 public class TreeNode{ 11 int val=0; 12 TreeNode left=null; 13 TreeNode right=null; 14 15 public TreeNode(int val){ 16 this.val=val; 17 } 18 } 19 20 21 public boolean isSymmetrical(TreeNode pRoot){ 22 if(pRoot==null) return false; 23 return isSymmetrical(pRoot.left ,pRoot.right); 24 } 25 26 27 private boolean isSymmetrical(TreeNode pLeft, TreeNode pRight) { 28 if(pLeft==null && pRight==null ) return true; 29 if(pLeft==null || pRight==null ) return false; 30 if(pLeft.val!=pRight.val) 31 return false; 32 return isSymmetrical(pLeft.left, pRight.right) 33 && isSymmetrical(pLeft.right, pRight.left); 34 } 35 }
时间: 2024-10-29 20:41:14