题解 | #对称的二叉树#
对称的二叉树
http://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb
很显然,二叉树是否对称的条件是:左子树的右结点等于右子树的左结点。 那么,可以使用递归的方式。
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
boolean isSame(TreeNode root1, TreeNode root2) {
if (root1 == null && root2 == null)
return true;
else if (root1 == null || root2 == null)
return false;
return root1.val == root2.val &&
isSame(root1.left, root2.right) &&
isSame(root1.right, root2.left);
}
boolean isSymmetrical(TreeNode pRoot) {
return isSame(pRoot, pRoot);
}
}