101. 对称二叉树

Posted 潜行前行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了101. 对称二叉树相关的知识,希望对你有一定的参考价值。

  1. 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

1

/
2 2
/ \\ /
3 4 4 3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

1

/
2 2
\\
3 3

class Solution {
    public boolean isSymmetric(TreeNode root) {
        return helper(new TreeNode[]{root.left,root.right});
    }

    public boolean helper(TreeNode[] arr) {
        int len = arr.length;
        int len2 = arr.length * 2;
        TreeNode[] newArr = new TreeNode[len2];
        int flag = 0;
        for(int i=0;i<len/2;i++){
            if(arr[i] == arr[len-i-1] && arr[i] == null){
                newArr[i*2] = newArr[i*2+1] = newArr[(len-i-1)*2] = newArr[(len-i-1)*2 +1] = null;
                continue;
            }
            flag = 1;
            if(arr[i]!=null && arr[len-i-1]!=null){
                if(arr[i].val == arr[len-i-1].val){
                     newArr[i*2] = arr[i].left;
                     newArr[i*2+1] = arr[i].right;
                     newArr[(len-i-1)*2] = arr[len-i-1].left;
                     newArr[(len-i-1)*2 +1] = arr[len-i-1].right;
                    continue;
                }
            }
            return false;
        }
        return flag == 0 ? true : helper(newArr);
    }
}

以上是关于101. 对称二叉树的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode101----对称二叉树

2021-10-05:对称二叉树。给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。力扣101。

LeetCode101. 对称二叉树

LeetCode第101题—对称二叉树—Python实现

leecode 101. 对称二叉树

代码随想录算法训练营第15天 | ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2