《劍指 Offer》 58 對稱的二叉樹

2021-10-07 22:53:59 字數 971 閱讀 3296

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

對稱的二叉樹:

8/ \

10 10

/ \ / \

11 9 9 11

public

class

treenode

}

public

class

solution

// 判斷根節點的左子樹和右子樹是不是對稱

return

issymmetrical

(proot.left, proot.right);}

/** * 判斷 proot1,proot2 是不是對稱

* @param proot1

* @param proot2

* @return

*/boolean

issymmetrical

(treenode proot1, treenode proot2)

// 如果乙個結點為 null,另乙個結點不為 null,返回 false

if(proot1 == null || proot2 == null)

// 如果兩個結點值不相等,返回 false

if(proot1.val != proot2.val)

// 判斷 proot1 的左子樹和 proot2 的右子樹是不是對稱,

// 及 proot1 的右子樹和 proot2 的左子樹是不是對稱。

return

issymmetrical

(proot1.left, proot2.right)

&&issymmetrical

(proot1.right, proot2.left);}

}

劍指offer 58 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。時間限制 1秒 空間限制 32768k 熱度指數 121507 見 struct treenode class solution bool match treenode l,treenode...

劍指Offer(58) 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。1 比較節點的左右子結點 a.如果其中乙個為空則不對稱 b.如果均不為空,則比較結點值,如果結點值不同則不對稱 2 如果當前結點左右子結點相同,則遞迴比較左子樹的右結點和右子樹的左結點 左子...

劍指offer58 對稱的二叉樹

請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路1 第一遍做的時候,利用的是源樹和映象樹相等的特徵來做的 即如果是對稱的,按左根右和右根左遍歷得到是一樣的結果。class solution s to string p val dfs ...