算法1
(二叉树,递归) $O(n)$
如果二叉树是对称的,则从左子树进行前序遍历和从右子树进行前序遍历的结果应该是相同的。
java 代码
class Solution {
public boolean isSymmetric(TreeNode root) {
return isSymmetric(root,root);
}
public boolean isSymmetric(TreeNode root1,TreeNode root2) {
if(root1==null&&root2==null)
return true;
if(root1==null||root2==null)
return false;
if(root1.val!=root2.val)
return false;
return isSymmetric(root1.left,root2.right)
&&isSymmetric(root1.right,root2.left);
}
}