gpt4 book ai didi

java - BinTree 到 BinTree 的括号表示

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:59 25 4
gpt4 key购买 nike

大家好,我正在编写一个程序,它接收二叉树的字符串表示形式并从中创建一棵树。该代码对我来说完全有意义,但它仍然不会做它应该做的事情。感谢大家。这是一些代码:

(((()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;
}

最佳答案

通过检查每次调用 findRoot()s 的值开始调试。代码看起来不错,只是我觉得您的 substring() 参数中有一个差错。

关于java - BinTree 到 BinTree 的括号表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4411267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com