劍指offer 重建二叉樹

2022-01-26 06:40:45 字數 625 閱讀 5308

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

public class solution 

private treenode binarytree(int pre,int startpre,int endpre,

int in,int startin,int endin)

}return root;

}}

使用前序遍歷的第乙個元素建立根節點。

建立乙個棧,將根節點壓入棧內。

初始化中序遍歷下標為 0。

遍歷前序遍歷的每個元素,判斷其上乙個元素(即棧頂元素)是否等於中序遍歷下標index指向的元素。

public class solution else

node.right = new treenode(preval); //最後乙個相等元素的右節點 = 當前節點

stack.push(node.right); //入棧}}

return root;

}}

劍指offer 重建二叉樹

重建二叉樹2.cpp 定義控制台應用程式的入口點。題目描述 輸入乙個二叉樹的前序遍歷和中序遍歷,輸出這顆二叉樹 思路 前序遍歷的第乙個節點一定是這個二叉樹的根節點,這個節點將二叉樹分為左右子樹兩個部分,然後進行遞迴求解 include stdafx.h include vector using na...

《劍指offer》重建二叉樹

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如,則重建二叉樹並返回。輸入乙個樹的前序和中序,例如輸入前序遍歷序列和中序遍歷序列 根據輸入的前序和中序,重建乙個該二叉樹,並返回該樹的根節點。definition for binary...

劍指offer 重建二叉樹

題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。definition for binary tree struct treenode class solution if ...