輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。
/**
* definition for binary tree
* public class treenode
* }*/public class solution
int j = 0;
treenode root = new treenode(pre[0]);
for(int i = 0;i< in.length;i++)
}int preleft = new int[j];
int inleft = new int[j];
int preright = new int[pre.length - j -1];
int inright = new int[in.length - j -1];
for(int i = 0 ;i < pre.length; i++)
}root.left = reconstructbinarytree(preleft,inleft);
root.right = reconstructbinarytree(preright,inright);
return root;
}}
劍指Offer(四) 重建二叉樹 二叉樹
牛客網刷題筆記記錄。參考自 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。通常樹有如下幾種遍歷方式 本題為前序遍歷和中序遍歷,最少需要兩種遍歷方式,才能重建二叉樹。前序遍歷序列中...
劍指offer(四) 重建二叉樹
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。我們先來弄懂前序遍歷和中序遍歷的特點 前序遍歷 根結點 左子樹 右子樹。中序遍歷 左子樹 根結點 右子樹。所以前序遍歷序列的第乙個值...
劍指Offer 四 重建二叉樹
解法1 前序遍歷的第乙個數為樹的根,而中序遍歷中根所在位置的左面的序列即為左子樹的中序遍歷,右面即為右子樹的中序遍歷,遞迴找到每個子樹的根就ok了!class solution 返回構造的treenode根節點 def reconstructbinarytree self,pre,tin write...