标签:pre || boolean val code 镜像 void 二叉树 amp
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
1 / 2 2 / \ / 3 4 4 3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1 / 2 2 \ 3 3
代码如下:
public class LeetCode101 {
public boolean isSymmetric = true;
public static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
}
isSymmetric(root.left, root.right);
return isSymmetric;
}
public void isSymmetric(TreeNode left, TreeNode right) {
if (left == null || right == null) {
if (left != right) {
isSymmetric = false;
}
return;
}
isSymmetric(left.left, right.right);
isSymmetric(left.right, right.left);
if (left != null && right != null) {
if (left.val != right.val) {
isSymmetric = false;
}
}
}
}
标签:pre || boolean val code 镜像 void 二叉树 amp
原文地址:https://www.cnblogs.com/Booker808-java/p/9058397.html