打印出此二叉树中各个节点的二进制代码字时出现问题。我使用inOrder Traversal有关如何概括这一点的任何建议?树看起来像这样
public static String Encodehelper (char[] s, BinaryNode<Data> root){
Encode[] myCode = new Encode[s.length];
if(root != null){
if(root.getLeft()!=null)
{
code+="0";
}
getKey(s,root.getLeft());
if(root.getRight()!=null)
{
code+="1";
}
System.out.println(root.getElement().getSymbol() + " " + code);
if(root.getLeft()==null)
{
code=code.substring(0,code.length()-1);
}
getKey(s,root.getRight());
}
return " "; // for now...
}
返回
A 0
1
C 100
101
G 101
101
T 101
而不是
A 0
1
10
C 100
G 101
T 11