劍指offer C 一天一題 4

2021-10-06 19:17:45 字數 1025 閱讀 5717

今日碎碎念:事情永遠幹不完啊~

題目描述

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。

解題思路

前序的第乙個數是節點

中序找到節點位置,節點左為左樹,右為右樹

遞迴~**實現

/**

* definition for binary tree

* struct treenode

* };

*/class solution

//開始構造二叉樹

//1將節點存入樹中,並在中序中找到節點

treenode *rootnode= new treenode

(pre[0]

);int pos;

for(

int i=

0;i//2將左右樹存入樹中

vector<

int> pre_l_tree,pre_r_tree,vin_l_tree,vin_r_tree;

for(

int i =

0;i < pos;i++

)for

(int i = pos+

1;i < length;i++

) rootnode->left=

reconstructbinarytree

(pre_l_tree,vin_l_tree)

; rootnode->right=

reconstructbinarytree

(pre_r_tree,vin_r_tree)

;return rootnode;}}

;

結果

劍指offer C 一天一題 3

今日碎碎念 今天看牛客網又看到演算法諸神黃昏之類的論調,以及一些前輩們勸轉開發,總之我現在只能兩手準備畢竟之前花時間搞了比賽和文章啊 一年應該差不多 要加油啊 題目描述 輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。解題思路 鏈結1 link 鏈結2 link 知識點 鍊錶array...

劍指offer C 一天一題 9

今日碎碎念 雨快停了 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。知識點 貪心演算法 a.建立數學模型來描述問題 b.把求解的問題分成若干個子問題 c.對每一子問題求解,得到子問題的區域性最優解 d.把子問題的解區域性最優解合...

劍指offer C 一天一題 13

今日碎碎念 天晴了 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。解題分析 乙個關鍵點是 相對位置不變 基本思想是遇見乙個奇數,就把它插入上乙個奇數後面 因為是插入這個...