劍指offer 對稱的二叉樹

2021-09-25 10:08:54 字數 613 閱讀 2419

題目描述

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

思路:二叉樹和它的映象相同,我們可以想到二叉樹關於根節點的垂線是軸對稱的。因此我們就需要判斷左右子樹是否關於根節點那一條垂線是否對稱。

實現:c++用到了遞迴

/*

struct treenode

};*/

class solution

return issymmetrical2(proot->left,proot->right);

}bool issymmetrical2(treenode*root1,treenode*root2)//判斷兩棵子樹是不是對稱的,就是那種軸對稱

if(root1==null||root2==null)//兩者有一者不為空一者為空

if(root1->val!=root2->val)//值不相等

return issymmetrical2(root1->left,root2->right)&&issymmetrical2(root1->right,root2->left);//軸對稱

}};

finished!!!

劍指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 ...