剑指 Offer 28. 对称的二叉树
难度:简单
题目描述
解题思路
这个总结的好好啊
左右子树同时等于空,说明匹配完成了,都一样;
如果其中一个为空另外一个还没,说明没匹配上;
如果都不为空,就判断对应的值是否相等,对应的值相等,再判断孩子是不是满足以上镜像条件
/*
* 剑指 Offer 28. 对称的二叉树
* 2020/8/7
* 难度:简单
*/
public boolean isSymmetric(TreeNode root) {
//空树是对称二叉树
if(root == null)
return true;
return isSymmetricHelper(root.left, root.right);
}
public boolean isSymmetricHelper(TreeNode left,TreeNode right) {
if(left == null && right == null)
return true;
if(left == null || right == null)
return false;
if(left.val != right.val)
return false;
return left.val == right.val && isSymmetricHelper(left.left, right.right) && isSymmetricHelper(left.right, right.left);
}