演算法 對稱二叉樹的判斷

2021-08-07 11:57:30 字數 418 閱讀 1058

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。

題目分析:

遞迴思想,如果一棵樹根結點為空則返回true,否則遞迴判斷左子樹和右子數是否對稱,對稱即各從某一相同結點出發,判斷一棵樹的左結點和另一棵樹的右節點是否相同、一棵樹的右節點和另一棵樹的右節點是否相同。

boolean issymmetrical(treenode proot)

boolean issametree(treenode lnode,treenode rnode)else if(lnode==null||rnode==null)

else if(lnode.val!=rnode.val)

else

}

演算法 判斷對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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示例 輸入 2,1,5,6,2,3 輸出 10說實話這道題我想了挺久的,可能太久沒接觸過二叉...

判斷對稱二叉樹

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...