今日碎碎念:事情永遠幹不完啊~
題目描述
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。
解題思路
前序的第乙個數是節點
中序找到節點位置,節點左為左樹,右為右樹
遞迴~**實現
/**
* 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
今日碎碎念 天晴了 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。解題分析 乙個關鍵點是 相對位置不變 基本思想是遇見乙個奇數,就把它插入上乙個奇數後面 因為是插入這個...