面試題 劍指offer19 二叉樹的映象

2021-08-02 22:37:10 字數 445 閱讀 6953

二叉樹的映象就是要將左子樹調整到右子樹的地方

將右子樹的位置調整到左子樹的位置

首先先序遍歷這個數的每個節點,如果遍歷到節點有子節點

就交換它的兩個子結點,當交換完所有非結點之後,就得到了樹的映象

**的實現:

#includeusing namespace std;

struct binarytreenode

;void mirrorrecurisively(binarytreenode* node)

binarytreenode *tmp = node->_left;

node->_left = node->_right;

node->_right = tmp;

if (node->_left)

if (node->_right)

}

劍指Offer 面試題19 映象二叉樹

操作給定的二叉樹,將其變換為源二叉樹的映象。以題目中的兩棵樹為例 就是先序遍歷這棵樹,如果當前正在遍歷的節點有子結點 無論是左還是右 就交換兩個子節點,當交換完所有的非葉子結點的左右子結點的時候,就得到了樹的映象.具體過程如下所示 注意6和10交換之後,第三層結點的排列順序 遞迴實現 public ...

劍指offer 19 二叉樹的映象

先序遍歷樹的每個結點,若遍歷到的結點有子節點,則交換它的兩個結點。遞迴方式 如果proot為null,則為空樹,返回 如果proot不為null,交換proot左右結點,然後分別求左右子樹的映象 非遞迴方式 步驟描述 借助棧 首先,將根節點proot入棧 第一步 當佇列未空時執行第二步 第二步 出棧...

劍指offer 19 二叉樹的映象

二叉樹的映象 映象即就是在鏡子中所成的像 實現 ps 搜尋二叉樹和普通二叉樹實現方法是相同的,只是兩種建樹過程有所不同,此處實現的是搜尋二叉樹。1.遞迴實現 pragma once include include include using namespace std template struct...