判断二叉树是否对称
题目描述
给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称)
例如:下面这棵二叉树是对称的
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);
}
}