[英]How to construct a binary tree from level order array?
我正在研究一個編碼問題,現在我有點困惑。 如果給我一個數組,它表示二叉樹的層序遍歷。 我如何從中構建一棵樹?
到目前為止,這是我迄今為止的思考過程:我知道第0th
索引是root
, leftChild = 2*i+1
和rightChild = 2*i+2
。
這是我到目前為止所擁有的,我認為這是不對的:
public Tree buildTree(ArrayList<Tree> arr, int i) {
if (i > list.size() - 1) {
return null;
}
root = list.get(i);
root.LeftChild = buildTree(arr, 2*i+1);
root.RightChild = buildTree(arr, 2*i+2);
return root;
}
我的i
從 0 開始,謝謝。
您的代碼看起來不錯……盡管您的方法采用ArrayList<Tree>
而不是ArrayList<Node>
很奇怪。 你為什么不認為它是對的? 你如何測試你的方法? 你得到什么樣的錯誤?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.