題目描述
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
/*
struct treenode
};*/
class solution
};
/思路:首先根節點以及其左右子樹,左子樹的左子樹和右子樹的右子樹相同, 左子樹的右子樹和右子樹的左子樹相同即可,採用遞迴/
class solution
bool issame(treenode *pleft, treenode *pright)
};
非遞迴演算法:
使用stack來儲存成對的結點;
出棧的時候也是成對成對的,若都為空,繼續;乙個為空,返回false; 不為空,比較當前值,值不等,返回false。
入棧都是成對入棧的。
class solution
stacksta;
sta.push(proot->left);
sta.push(proot->right);
while(!sta.empty())
return true;
}};
58 對稱的二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。遞迴 先判斷當前兩個節點是否相等,再判斷 節點a左子樹,節點b右子樹 和 節點a右子樹,節點b左子樹 是否相等 ublic class solution return sym proot.l...
58 對稱的二叉樹
題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。分析 深入理解對稱 1 首先將二叉樹腦補為滿二叉樹,沒有的節點用null代替,2 二叉樹分別按照 根 左 右 和 根 右 左 順序遍歷,若兩次遍歷結果一致,即 對稱。struct ...
58 對稱的二叉樹
2.笨拙的迭代方法 3.巧妙的迭代方法 classname solution description todo date 2019 12 23 14 11 author sonnsei public class solution return issymmetrical root.left,root...