【发布时间】:2012-02-14 19:41:54
【问题描述】:
我尝试从 3{1{,2{,}},5{4{,},6{,}}} 转换列表 像这样的二叉树
3
1 5
2 4 6
我认为使用递归会更容易,但我卡住了。
public void ListToTree (ArrayList al) {
Iterator it = al.iterator();
// n is the Tree's root
BSTnode n = new BSTnode(it.next());
recurse(al,it,n);
}
void recurse (ArrayList al, Iterator it, BSTnode n) {
if(!it.hasNext()) return;
Object element = it.next();
if(element=="{"){
recurse(al,it,n.left());
return;
} else if (element==",") {
recurse(al,it,n.right());
return;
} else if (element =="}") {
}
}
我不知道如何继续,想知道这是否是正确的轨道。请给我一些提示如何解决它。此外,我意识到我经常陷入递归问题。是因为我总是想把它分解吗?我是否应该自上而下地思考并仔细检查它是否正确?提前致谢!
【问题讨论】:
标签: java recursion binary-search-tree