2
我正在嘗試編寫一個代碼,該代碼搜索元素的二叉樹,然後添加該元素的開始。到目前爲止,我可以找到正確的位置並添加到該位置,但我失去了二叉樹的其餘部分。如何添加二叉樹的特定部分,但保持樹完整(Java)?
public void add(String addroot, String addleft)
if(root!=nodesearch){
if(root.left!=null){
root=root.left;
add(addroot, addleft);
}
if(root.right!=null){
root=root.right;
add(addroot, addleft);
}
}
else
root=insert();
}
插入()添加的元素,它工作正常。謝謝你的幫助。
好吧,這就是我現在的想法。
private BinaryStringNode local_root = root
public void add()
if(root!=nodesearch){
if(local_root.left!=null){
local_root=local_root.left;
add();
}
if(local_root.right!=null){
local_root=local_root.right;
add();
}
}
else
local_root=insert();
}
local_root = insert()使用local_root位置上root的插入方法。也會local_root = local_root.right移動通過根?
不改變這根!使用臨時變量 –
當我使用臨時變量進行搜索時,如何添加到根目錄中? – anon
在你的add函數中,傳遞一個「local_root」的值,當你第一次調用這個函數的時候你傳遞的是root,但是在你的遞歸調用中你應該添加(local_root.right,addroot,addleft) –