簡單構建乙個二叉樹而且產生映象

2022-08-21 20:27:11 字數 823 閱讀 9159

簡單的面試題,產生乙個二叉樹而且產生該二叉樹的映象。

原二叉樹

1 2  3

映象後 

1      

3  2

#include using namespace std;

typedef struct binarytreenode

binarytreenode,* pbinarytreenode;

class binarytreemanager

void init()

//輸出二叉樹 興許遍歷

void showbinarytree(pbinarytreenode node) }

//映象

void mirror(pbinarytreenode node) }

pbinarytreenode getroot()

private:

//建立二叉樹

pbinarytreenode createbinarytree()

return t;

}private:

pbinarytreenode m_root ;

};void main()

{ binarytreemanager btmanager ;

btmanager.init() ;

pbinarytreenode root=btmanager.getroot();

btmanager.showbinarytree(root);

///對二叉樹做映象

btmanager.mirror(root);

cout<

乙個二叉樹的映象

二叉樹的映象即每個結點的左右孩子互換。解決方法 先序遍歷樹的每個結點,若遍歷到的結點有子結點,則交換它的兩個子結點。具體 遞迴演算法 void binarymirror binarytreenode proot 迴圈演算法 void binarymirror nor binarytreenode p...

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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。遞迴 definit...

二叉樹構建(一)

說明 1.根據先序遍歷和中序遍歷或者後序遍歷和中序遍歷可以構建一棵二叉樹 2.構建以後序遍歷和中序遍歷為例,結點資料域以整形為例。定義二叉樹類 核心是constractpostcore函式。class binarytree binarytreenode int value,binarytreenod...