58 對稱的二叉樹

2021-09-25 06:16:38 字數 662 閱讀 3850

題目描述

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。

/*

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...