Hey alle, ich schreibe ein Programm, das eine Zeichenfolgendarstellung eines binären Baums aufnimmt und einen Baum daraus erstellt. Der Code macht für mich Sinn, aber er tut immer noch nicht, was er sollte. Danke an alle. Hier ist ein Code:Klammerdarstellung von BinTree zu BinTree
(((()B(C))D(E))F(G))J(()K((L)M(T)))
private static BinTree<String> findRoot(String s){
String tree = s;
int i = 0;
int count = 0;
String root;
if(tree.equalsIgnoreCase("()")){
return null;
}
if(tree.length()==3){
return new BinTree<String>(Character.toString(tree.charAt(1)));
}
while(i<tree.length()){
if(tree.charAt(i)=='('){
count++;
}
if(tree.charAt(i)==')'){
count--;
if(count==0){
i++;
root = Character.toString(tree.charAt(i));
return new BinTree<String>(root, findRoot(tree.substring(1, i-1)), findRoot(tree.substring(i+1)));
}
}
i++;
}
return null;
}
Ist Ihre Baumstruktur (links) root (rechts)? – shoebox639
ja ich denke schon. –