一、知识点:
二叉树
二、文字分析:
比较左子树的左子节点和右子树的右子节点是否相等,同时比较左子树的右子节点和右子树的左子节点是否相等。如果左右节点的值相等,并且左子树的左子节点和右子树的右子节点对称,并且左子树的右子节点和右子树的左子节点对称,则二叉树是轴对称的。
三、编程语言:
java
四、正确代码:
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* public TreeNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
}
return isMirror(root.left, root.right);
}
private boolean isMirror(TreeNode p, TreeNode q) {
if (p == null && q == null) {
return true;
}
if (p == null || q == null) {
return false;
}
return (p.val == q.val) && isMirror(p.left, q.right) &&
isMirror(p.right, q.left);
}
}

京公网安备 11010502036488号