[英]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.