JZ58 對稱的二叉樹

2021-10-11 21:19:56 字數 942 閱讀 8680

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

【嘗試解法】

//1.計算出映象二叉樹【參考jz18】

//2.比較兩棵樹

//如下圖jz56可以遍歷phead。

故改變方法: //1.拷貝二叉樹 //2.映象二叉樹 //3.比較映象二叉樹與原二叉樹是否一摸一樣

/*

struct treenode

};*/

class

solution

void

mirror

(treenode *root)

intcompare

(treenode *p, treenode *proot)

}bool

issymmetrical

(treenode* proot)}}

;

解法2.遞迴

58 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。遞迴 先判斷當前兩個節點是否相等,再判斷 節點a左子樹,節點b右子樹 和 節點a右子樹,節點b左子樹 是否相等 ublic class solution return sym proot.l...

58 對稱的二叉樹

題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。struct treenode class solution 思路 首先根節點以及其左右子樹,左子樹的左子樹和右子樹的右子樹相同,左子樹的右子樹和右子樹的左子樹相同即可,採用遞迴 ...

58 對稱的二叉樹

題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。分析 深入理解對稱 1 首先將二叉樹腦補為滿二叉樹,沒有的節點用null代替,2 二叉樹分別按照 根 左 右 和 根 右 左 順序遍歷,若兩次遍歷結果一致,即 對稱。struct ...