簡體   English   中英

javascript二叉樹,檢查它是否是自己的鏡像

[英]javascript binary tree, check whether it is a mirror of itself

最近在學習javascript,不知道為什么我寫的代碼是錯誤的。 這是問題:給定一個二叉樹,檢查它是否是它自己的鏡像。

var isSymmetric = function(root) {
if(root === null) return true;
function isSymmetric(leftNode, rightNode){
    if(leftNode === null && rightNode === null) return true;
    if(leftNode === null || rightNode === null) return false;
    return (leftNode.val == rightNode.val) && isSymmetric(leftNode.left, rightNode.right) && isSymmetric(leftNode.right, rightNode.left);
}
isSymmetric(root.left, root.right);

}; 當輸入為 1 時,結果為“未定義”。 這個算法是從我的 Java 代碼轉換而來的。 請告知我哪里出錯了。

var isSymmetric = function(root) {
        if (root === null) return true;

        function isSymmetric(leftNode, rightNode) {
            if (leftNode === null && rightNode === null) return true;
            if (leftNode === null || rightNode === null) return false;
            return (leftNode.val == rightNode.val) && isSymmetric(leftNode.left, rightNode.right) && isSymmetric(leftNode.right, rightNode.left);
        }
        return isSymmetric(root.left, root.right);
};

您需要返回 isSymmetric 的結果,如上所示

就個人而言,我不會讓外部函數和內部函數具有相同的名稱,這對我的老眼睛來說看起來很混亂:p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM