請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
遞迴。對稱樹滿足:
1.根節點相同;
2.根節點左右子樹相同;
3.左子樹的左子樹和右子樹的右子樹相同,左子樹的右子樹和右子樹的左子樹相同.
/* function treenode(x) */
function
issymmetrical
(proot)
function
help
(left,right)
//經過上一行判斷出左子樹不為空了,右子樹為空的話不對稱
if(right ===
null
)//兩個節點元素值不一樣也不對稱
if(left.val !== right.val)
//判斷子樹1的右子樹和子樹2的左子樹是否相同,子樹1的左子樹和子樹2的右子樹是否相同
}return
help
(left.left, right.right)
&&help
(left.right, right.left)
;}
對稱二叉樹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...