Java 赫夫曼特里(爪哇)
以下方法是HuffmanTree类的一部分。但它有点不同,因为它不是空的。我写了下面的方法,但它不打印侧边。你能帮帮我吗?谢谢大家!Java 赫夫曼特里(爪哇),java,Java,以下方法是HuffmanTree类的一部分。但它有点不同,因为它不是空的。我写了下面的方法,但它不打印侧边。你能帮帮我吗?谢谢大家! public String printSideways() { StringBuilder s = new StringBuilder(""); printSideways(overallRoot, s , 0); return printSideways(); // I'm not sure about this part }
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方法应返回某些内容。我们不能把它系统打印出来。