Java 赫夫曼特里(爪哇)

Java 赫夫曼特里(爪哇),java,Java,以下方法是HuffmanTree类的一部分。但它有点不同,因为它不是空的。我写了下面的方法,但它不打印侧边。你能帮帮我吗?谢谢大家! public String printSideways() { StringBuilder s = new StringBuilder(""); printSideways(overallRoot, s , 0); return printSideways(); // I'm not sure about this part }

以下方法是HuffmanTree类的一部分。但它有点不同,因为它不是空的。我写了下面的方法,但它不打印侧边。你能帮帮我吗?谢谢大家!

 public String printSideways() {

    StringBuilder s = new StringBuilder("");

    printSideways(overallRoot, s , 0);

    return printSideways(); // I'm not sure about this part 
}

private void printSideways(HuffmanNode root, StringBuilder s, int level) {
    if (root != null) {
            printSideways(root.right, s.append(root.toString()), level+1);
            for(int i = 0; i < level; i++){
                 System.out.print(" ");
            }
            System.out.println(root.toString());
            printSideways(root.left, s.append(root.toString()) , level+1);
    }
}
publicstringprintsideways(){
StringBuilder s=新的StringBuilder(“”);
横向打印(总根,s,0);
return printSideways();//我不确定这个部分
}
私有void横向打印(HuffManode根、StringBuilder s、int级别){
if(root!=null){
侧向打印(root.right,s.append(root.toString()),级别+1);
对于(int i=0;i
删除
System.out.println(root.toString())
侧面打印(根、s、级别)
因为您使用的是
StringBuilder
。返回
s.toString()来自
printSideways()
而不是
printSideways()

的结果,您没有得到堆栈溢出吗
printSideways()
返回
printSideways()
。字符串printSideways()方法应该返回什么?现在它在回归自己,回归自己,回归自己,等等……私人部分是无效的。public方法应返回String。String方法应返回某些内容。我们不能把它系统打印出来。