讨论社区

101. 对称二叉树。输入 [1] 。控制台输出 true ,提交时候就变成 false

/**

 * Definition for a binary tree node.

 * function TreeNode(val) {

 *     this.val = val;

 *     this.left = this.right = null;

 * }

 */

/**

 * @param {TreeNode} root

 * @return {boolean}

 */


// 方法1: 先序遍历打印出来 一定是一个回文序列!!

let preArr = [];

var preVisit = function(root){

    if(root === null){

        return ;

    }

    preVisit(root.left);

    preArr.push(root.val);

    preVisit(root.right);

    return preArr;

}


var isSymmetric = function(root) {

    // 空树是特殊情况!也为 true

    if(root === null){

        return true;

    }

    

    let preArr = preVisit(root);

    // console.log(preArr);

    // 只有 preArr 是回文序列 才返回 true

    let length = preArr.length;

    for(let i=0; i < length/2; i++){

        // console.log(preArr[i], preArr[length-i-1]);

        if(preArr[i] !== preArr[length-i-1]){

            return false;

        }

    }

    return true;

};


0 人关注了该问题 关注

0

776854974m • 4周前

亲,刷题学习中遇到困难,您可通过阅读题解解决您做题中的一些困惑,也可至 力扣圈子 进行题目交流,以获得更好的支持哟~



0 个讨论

您需要登录后才可回复
您需要登录后才可以回复