題目描述:請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
【分析】
深入理解對稱:
(1)首先將二叉樹腦補為滿二叉樹,沒有的節點用null代替,
(2)二叉樹分別按照「根-左-右」和「根-右-左」順序遍歷,
若兩次遍歷結果一致,即——對稱。
/*
struct treenode
};*/
class solution
private:
bool issymmetricalcor(treenode* pleft,treenode* pright)
if(pleft == null || pright == null)
if(pleft->val != pright->val)//如果存在值不相等的情形,即不對稱
/*在對稱關係中,左子樹左節點和右子樹右節點對應,*/
/*同理左子樹右節點和右子樹的左節點對應,*/
/*畫乙個圖中間線畫出來就明白了了 */
return issymmetricalcor(pleft->left, pright->right) && issymmetricalcor(pleft->right, pright->left);
}};
58 對稱的二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。遞迴 先判斷當前兩個節點是否相等,再判斷 節點a左子樹,節點b右子樹 和 節點a右子樹,節點b左子樹 是否相等 ublic class solution return sym proot.l...
58 對稱的二叉樹
題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。struct treenode class solution 思路 首先根節點以及其左右子樹,左子樹的左子樹和右子樹的右子樹相同,左子樹的右子樹和右子樹的左子樹相同即可,採用遞迴 ...
58 對稱的二叉樹
2.笨拙的迭代方法 3.巧妙的迭代方法 classname solution description todo date 2019 12 23 14 11 author sonnsei public class solution return issymmetrical root.left,root...