101. Symmetric Tree

recursively 比较直白,重点是每次传入要比较的2个,然后魔爪要伸向下下层。。

public class Solution {
    public boolean isSymmetric(TreeNode root) {
        if (root == null) return true;
        return helper(root.left, root.right);
    }
    
    public boolean helper(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 helper(left.left, right.right) && helper(left.right, right.left);
    }
}

iteratively好像比较麻烦,不想用多余空间的话,用LIST代替QUEUE,每次一层之后夹逼比较。 否则要N/2的多余空间来做专门用于比较的LIST

posted @ 2016-11-04 08:58  哇呀呀..生气啦~  阅读(70)  评论(0)    收藏  举报