二叉樹(shù)鏡像對(duì)稱(chēng) 判斷一棵二叉樹(shù)是不是鏡像對(duì)稱(chēng)的二叉樹(shù)?
判斷一棵二叉樹(shù)是不是鏡像對(duì)稱(chēng)的二叉樹(shù)?在這里先解釋一下鏡像對(duì)稱(chēng)的概念,顧名思義,就像人站在鏡子前面面對(duì)自己一樣,看到的一切都是對(duì)稱(chēng)的。鏡中的反射與現(xiàn)實(shí)中的人具有相同的頭部,但反射的右臂對(duì)應(yīng)于人的左臂,
判斷一棵二叉樹(shù)是不是鏡像對(duì)稱(chēng)的二叉樹(shù)?
在這里先解釋一下鏡像對(duì)稱(chēng)的概念,顧名思義,就像人站在鏡子前面面對(duì)自己一樣,看到的一切都是對(duì)稱(chēng)的。鏡中的反射與現(xiàn)實(shí)中的人具有相同的頭部,但反射的右臂對(duì)應(yīng)于人的左臂,反之亦然。
例如,二叉樹(shù) [1,2,2,3,4,4,3] 是對(duì)稱(chēng)的。
如何判斷二叉樹(shù)是否為完全二叉樹(shù)?
1、首先明白什么是完全二叉樹(shù),完全二叉樹(shù)是由滿(mǎn)二叉樹(shù)引出來(lái)的。一顆完全二叉樹(shù)的倒數(shù)第二層肯定是滿(mǎn)二叉樹(shù),最后一層可以不是滿(mǎn)的,但是葉子節(jié)點(diǎn)都是靠左連續(xù)的。
2、怎么判斷是否是完全二叉樹(shù)
我們采用層級(jí)遍歷來(lái)判斷是否是完全二叉樹(shù),在遍歷的時(shí)候分兩種情況
如果有右孩子沒(méi)有左孩子,肯定不是完全二叉樹(shù)
如果有個(gè)節(jié)點(diǎn)不是不是左右孩子都全,那么后續(xù)的節(jié)點(diǎn)肯定是葉子節(jié)點(diǎn),如果不是葉子節(jié)點(diǎn)那么肯定不是完全二叉樹(shù)
Java代碼為例