判断二叉树是否对称
题目描述
给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称)
例如:下面这棵二叉树是对称的
1
/
2 2
/ \ /
3 4 4 3
下面这棵二叉树不对称。
1
/
2 2
\
3 3
代码
import java.util.*;
/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */
public class Solution {
/** * * @param root TreeNode类 * @return bool布尔型 */
public boolean isSymmetric (TreeNode root) {
// write code here
if(root == null) return true;
return isSymmetricNode(root.left, root.right);
}
public boolean isSymmetricNode(TreeNode node1, TreeNode node2){
if(node1==null&&node2==null) return true;
else if(node1==null || node2==null) return false;
else if(node1.val != node2.val) return false;
else return isSymmetricNode(node1.left, node2.right)
&& isSymmetricNode(node1.right,node2.left);
}
}