LeetCode【101. 对称二叉树】

对称二叉树,就是左节点的左节点等于右节点的右节点,左节点的右节点等于右节点的左节点。

很自然就想到迭代与递归,可以创建一个新的函数,就是另一个函数不断的判断,返回在主函数。

class Solution {
    public boolean isSymmetric(TreeNode root) {
        if(root == null)
        {
            return true;
        }
        else
            return test(root.left,root.right);
    }
        
    public boolean test(TreeNode p,TreeNode q)
    {
        if(p == null && q == null)
        {
            return true;
        }
        else if(p != null && q != null)
        {
            if(p.val == q.val)
            {
                if(test(p.left,q.right) && test(p.right,q.left))
                {
                    return true;
                }
                else
                    return false;
            }
            else
                    return false;
        }
        else
            return false;
    }
}

注意每个if都要else,不然会报错。

posted on 2019-04-19 10:02  imimtks  阅读(115)  评论(0编辑  收藏  举报