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

2021-08-03 10:16:24 字數 823 閱讀 4090

題目描述

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

思路:

這樣的二叉樹就是映象的。

測試用例:

對應輸出應該為:

false

你的輸出為:

true

錯誤部分:

一開始只考慮把非空子節點放入佇列中,但這樣就無法得到空節點對子樹結構的影響。所以上述用例會判錯!

while(left.size()!=0&&right.size()!=0)

}

boolean issymmetrical(treenode proot) 

if (temp2 != null)

}if (left.size() != right.size()) // 如果退出迴圈時,兩者的大小不同,則肯定是false

return

false;

return

true;

}

劍指offer:

定義一種新的前序遍歷方式,先遍歷右節點,再遍歷左節點。並使用遞迴。

我這個思路的遞迴版本:

public

class

solution

return comroot(proot.left, proot.right);

}private

boolean

comroot(treenode left, treenode right)

}

劍指Offer 二叉樹 對稱的二叉樹

含有兩道題,都從樹的遞迴入手 請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。解題思路 映象翻 只需要遍歷二叉樹,每次訪問乙個結點時,交換其左右子樹。實現 definition for a binary tree node.class treenode def init self,x self....

劍指offer 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路 複製一顆二叉樹,在該二叉樹的基礎上求得二叉樹的映象,同時遍歷兩顆二叉樹,判斷每乙個節點是否相同。public class solution private treenode copy ...

劍指offer 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。遞迴 coding utf 8 class treenode def init self,x self.val x self.left none self.right none class ...