請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的
例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。
1.首先判斷根節點是否為空,空二叉樹是對稱的
2.根節點不為空,定義乙個檢測函式
檢測左右子樹是否為空的兩種情況 :都為空、其中乙個是空
當左右子樹都不為空,需要遞迴遍歷其他的左右子樹還有節點的值是否相等
var issymmetric = function(root)
//檢測函式
var check=(node1,node2)=>
//其中有乙個是空
if(!node1||!node2)
//如果左右子樹都不為空,需要遞迴比較左右子樹、當前值是否相等
return node1.val===node2.val&&check(node1.left,node2.right)&&check(node1.right,node2.left)
}return check(root.left,root.right)
};
對稱二叉樹c 對稱的二叉樹
很簡單,關鍵還是知道怎麼樣才能判斷乙個 二叉樹是否對稱,只要採用前序 中序 後序 層次遍歷等任何一種遍歷方法,分為先左後右和先 右後左兩種方法,只要兩次結果相等就說明這棵樹是一顆對稱二叉樹。迭代版本 class solution public bool issymmetric treenode ro...
對稱二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。這題還是蠻簡單的。對稱二叉樹 include using namespace std struct treenode bool issymmetrical treenode proot1,t...
對稱二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。solution public class treenode 我們可以通過比較二叉樹的前序遍歷序列和對稱前序遍歷序列來判斷二叉樹是不是對稱的 public class solution bo...