題目描述
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
/**
* 對稱的二叉樹
* *@author 過路的守望
* */
public
class
symmetricaltree
treenode root = proot;
treenode mirror = proot;
return issymmetricaltreerec(root, mirror);
}/**
* root與mirror都指向同一顆二叉樹
*@param root
*@param mirror
*@return
*/public
boolean
issymmetricaltreerec(treenode root, treenode mirror)
/** 若兩者中只有一者為空,顯然不對稱,返回false。
*/if (root == null || mirror == null)
/** 若兩者都不為空,則比較兩者的值是否相等。
*/if (root.val != mirror.val)
/** 兩者值相等,則遞迴比較子樹是否對稱
*/return issymmetricaltreerec(root.left, mirror.right)
&& issymmetricaltreerec(root.right, mirror.left);}/*
* 二叉樹內部類
*/private
static
class
treenode
}}
對稱二叉樹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...