面試題17 二叉樹的映象

2021-09-06 11:05:57 字數 675 閱讀 8870

例如:下面兩棵樹互為映象

思路:先序遍歷樹的每個結點,若遍歷到的結點有子節點,則交換它的兩個結點。

**:

#include "stdafx.h"

#include using namespace std;

struct binarytreenode

;//構造樹的映象

void mirror(binarytreenode *proot)

if (proot->m_pleft != null)

if (proot->m_pright != null)

}}//以先序的方式構建二叉樹,輸入-1表示結點為空

void createbinarytree(binarytreenode *&proot)

else }

void printinorder(binarytreenode *&proot)

}int _tmain(int argc, _tchar* argv)

面試題17 二叉樹的映象

例如 下面兩棵樹互為映象 思路 先序遍歷樹的每個結點,若遍歷到的結點有子節點,則交換它的兩個結點。include stdafx.h include using namespace std struct binarytreenode 構造樹的映象 void mirror binarytreenode ...

面試題19 二叉樹的映象

二叉樹的節點定義如下 struct binarytreenode 首先要弄明白什麼是二叉樹的映象?映象就是將二叉樹的所有節點的左右指標交換後得到的二叉樹。所以很容易分析出,要得到二叉樹的映象,需要交換它每個節點的左右指標。我們依次遍歷該二叉樹的每乙個節點,交換它的左右指標,然後再交換它的左右子樹即可...

面試題27 二叉樹的映象

面試題27 二叉樹的映象 題目 操作給定的二叉樹,將其變換為源二叉樹的映象。思路 1 找到不為空的節點。2 然後交換左右節點。3 遞迴呼叫此函式 classtreenode3 publicclassno27mirror publicvoidmirror treenode3 root if root ...