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

2021-09-11 06:41:13 字數 633 閱讀 4280

題目:46. 對稱的二叉樹

知識點:二叉樹

題目描述:

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

解題思路:

解題的思路主要是運用遞迴的思想,即遞迴的判斷左子樹的左結點和右子樹的右結點,當其都存在但不相等或者其中乙個結點存在而另乙個結點為空時則肯定不是對稱二叉樹 ,否則的話當兩個節點同時為空時直接判定為此子數為對稱二叉樹。

**:

//解法一(自研):

bool issymmetrical(treenode* proot)

bool ismirror(treenode* left, treenode* right)

//解法二(劍指offer 思路同上):

bool issymmetrical(binarytreenode* proot)

bool issymmetrical(binarytreenode* proot1, binarytreenode* proot2)

58 對稱的二叉樹 劍指offer

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。很簡單,關鍵還是知道怎麼樣才能判斷乙個 二叉樹是否對稱,只要採用前序 中序 後序 層次遍歷等任何一種遍歷方法,分為先左後右和先 右後左兩種方法,只要兩次結果相等就說明這棵樹是一顆對稱二叉樹。...

劍指offer系列(58)對稱二叉樹

題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路分析 此題同原 leetcode 101 symmetric tree 整體思路 將對稱二叉樹的檢驗轉換為與映象二叉樹是否為相等樹的問題 遞迴方法 比較對應左子樹與右子樹值 迴...

劍指offer(55) 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。針對前序遍歷定義一種對稱的遍歷演算法,即先遍歷父結點,再遍歷右子結點,最後遍歷它的左子結點。將前序遍歷和我們自己定義的遍歷方法的序列進行比較,如果相同,則為對稱,否則,不對稱。struct ...