【题目描述】
【思路】
观察发信啊镜像对称的二叉树轴对称,也就是除根节点外,左子树的右孩子节点与右子树的左孩子节点值相同,右子树的左孩子节点与左子树的右孩子节点值相同。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isSymmetric(TreeNode root) {
//树为空 返回true
if( root == null) return true;
return dfs(root.left, root.right);
}
public boolean dfs(TreeNode p, TreeNode q){
//两个子树同时为空才返回true
if( p == null || q == null) return p == q;
if( p.val != q.val ) return false;
//判断另个子树是否关于根轴对称
return dfs(p.left, q.right) && dfs(p.right, q.left);
}
}