面试题:对称二叉树
题目描述:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
0
1 1
2 3 3 2
代码:
//二叉树一般用到递归 public class Solution { boolean isSymmetrical(TreeNode pRoot){ if(pRoot==null) return true; return isSymmetrical(pRoot.left,pRoot.right); } boolean isSymmetrical(TreeNode left,TreeNode right){ if(left==null&&right==null) return true; if(left==null||right==null) return false; if(left.val==right.val){ return isSymmetrical(left.left,right.right)&&isSymmetrical(left.right,right.left); } return false; } }