劍指offer之對稱二叉樹

2021-08-24 17:26:50 字數 1024 閱讀 8584

請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。

例如:

//這是乙個對稱二叉樹

// 8

// 6 6

// 5 7 7 5

//這不是乙個對稱二叉樹

// 8

// 6 9

// 5 7 7 5

// 所有結點都有相同的值,樹不對稱

// 5

// / \

// 5 5

// / \

// 5 5

// / /

// 5 5

// 所有結點都有相同的值,樹不對稱

// 5

// / \

// 5 5

// / \ / \

// 5 * * 5

// / \ / \

// 5 * 5 *

前序遍歷

中序遍歷:

//中序遍歷

bool issymmetrical_3(binarytreenode* proot1, binarytreenode* proot2)

後序遍歷:

//後序遍歷

bool issymmetrical_4(binarytreenode* proot1, binarytreenode* proot2)

劍指offer之 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。首先判斷根節點左右子樹是否都存在或都為null,若不滿足則false,若滿足則進一步將樹分為兩棵樹,根據is same判斷兩棵樹是否對稱。非遞迴,使用棧來壓入左右兩顆子樹,若相同則同進同出,...

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

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

劍指offer 對稱的二叉樹

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