JavaScript判斷對稱二叉樹

2021-09-24 17:36:04 字數 1194 閱讀 6109

對稱二叉樹:

非對稱二叉樹:

實現思路:

判斷根節點相同

左子樹的右節點和右子樹的左節點相同

右子樹的左節點和左子樹的右節點相同

步驟1: 模擬乙個對稱二叉樹和非對稱二叉樹

//對稱二叉樹

const symmetricaltree = ,

right:

},right: ,

right:

}}

//非對稱二叉樹

const binarytree = ,

right:

},right: ,

right:

}}

步驟2: 利用遞迴實現對稱二叉樹判斷

function issymmetrical(proot) 

function issymmetricaltree(node1, node2)

//判斷兩個節點是否存在乙個為空

if (!node1 || !node2)

//判斷兩個節點是否相同

if (node1.val != node2.val)

return issymmetricaltree(node1.left, node2.right) && issymmetricaltree(node1.right, node2.left);

}

輸出:

console.log(issymmetrical(symmetricaltree));

console.log(issymmetrical(binarytree));

結果如下:

true

false

判斷對稱矩陣

我在 題目判斷對稱矩陣.雙重for迴圈第乙個for沒加括號導致錯誤,加上後就可以了。輸入乙個n維矩陣,判斷是否對稱。輸入第一行包括乙個數 n 1 n 100 表示矩陣的維數。接下來的n行,每行包括n個數,表示n n矩陣的元素。可能有多組測試資料,對於每組資料,輸出 yes 表示矩陣為對稱矩陣。輸出 ...

判斷對稱二叉樹

typedef struct node bn 不用關心輸入,二叉樹構造和刪除過程已經在main函式中實現,需要你們實現函式 int issymmetric bn root 來判斷一棵二叉樹是否對稱,對稱返回1,非對稱返回0.node結構要按照上面的 在symmetric.h中進行定義。注意被測試二叉...

判斷對稱二叉樹

相等條件 1.走到最底層還一樣,說明相等 root.left null root.right null,return true 2.一端有葉子一端沒有葉子,肯定不想等 if left null right null return false 3.值相等 左的右等於右的左 左的左等於右的右 class...