題目:完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。
如:
分析:對於乙個二叉樹的映象過程,我們可以先前序遍歷這棵樹的每乙個節點,如果遍歷到的節點有子節點,就交換它的兩個子節點。當交換完所有的飛葉子節點之後,就得到了樹的映象。
具體實現:
/*
struct treenode
};*/
void mirrorrecursively(treenode *pnode)
題目:實現乙個函式,判斷一課二叉樹是不是對稱的。如果乙個二叉樹和他的映象是完全一樣的,那麼它就是對稱的。
分析:兩種遍歷方式:根、左、右;根、右、左;當這兩種遍歷得到的序列是一樣的就認為時對稱的二叉樹。此外還應該考慮把遍歷遇到的null指標也考慮進來(處理全部節點一樣的情況)
/*
struct treenode
};*/
bool issymmetrical(treenode* proot1,treenode* proot2)
bool issymmetrical(treenode*proot)
leetcode 二叉樹 對稱二叉樹
給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...
101 二叉樹 對稱二叉樹
方法一 遞迴 對於此題 遞迴的點怎麼找?從拿到題的第一時間開始,思路如下 怎麼判斷一棵樹是不是對稱二叉樹?答案 如果所給根節點,為空,那麼是對稱。如果不為空的話,當他的左子樹與右子樹對稱時,他對稱。那麼怎麼知道左子樹與右子樹對不對稱呢?在這我直接叫為左樹和右樹。答案 如果左樹的左孩子與右樹的右孩子對...
對稱二叉樹c 對稱的二叉樹
很簡單,關鍵還是知道怎麼樣才能判斷乙個 二叉樹是否對稱,只要採用前序 中序 後序 層次遍歷等任何一種遍歷方法,分為先左後右和先 右後左兩種方法,只要兩次結果相等就說明這棵樹是一顆對稱二叉樹。迭代版本 class solution public bool issymmetric treenode ro...