劍指Offer 面試題07重建二叉樹

2021-10-23 11:35:30 字數 940 閱讀 5112

劍指offer面試題彙總

題目描述

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。

輸入輸出

前序遍歷 preorder = [3,9,20,15,7]

中序遍歷 inorder = [9,3,15,20,7]

返回

3

/ \9 20

/ \

15 7

解決方案

根據中序和前序進行二叉樹分割,使用函式遞迴

class

solution

} treenode root =

newtreenode

(rootval)

; root.left =

buildtree

(arrays.

copyofrange

(preorder,1,

1+ rootindex)

, arrays.

copyofrange

(inorder,

0, rootindex));

root.right =

buildtree

(arrays.

copyofrange

(preorder,

1+ rootindex, n)

, arrays.

copyofrange

(inorder, rootindex +

1, n));

return root;

}}

劍指offer 面試題07 重建二叉樹

6.24更新 class solution treenode rebuild int prel,int prer,int inl,int inr int numleft k inl 左節點個數 treenode root newtreenode in k 新建乙個節點作為其根節點 root left...

劍指offer 面試題07 重建二叉樹

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 include include using namespace std struct t...

《劍指offer》 面試題07 重建二叉樹

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如,給出 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7 限制 0 節點個數 5000 本題...