【发布时间】:2014-11-22 02:15:26
【问题描述】:
我正在尝试使用前序遍历在由字符 a-z 和 A-Z 组成的二叉树中找到一个节点,其中向左标记为“0”,向右标记为“1”,所以对于左侧两个分支的节点,正确的输出看起来像“00”。节点未排序。
到目前为止,我有这个:
static String routeNum = "";
private static String onePath(BinaryNodeInterface<Character> root, String route) {
BinaryNodeInterface<Character> temp = root;
if(temp != null){
if(temp.hasLeftChild()){
routeNum = onePath(temp.getLeftChild(),route+"0");
}
if(temp.hasRightChild()){
routeNum = onePath(temp.getRightChild(), route+"1");
}
}
System.out.print(route);
return route;
}
输出表明我正在到达正确的节点,但它没有打印路径。
【问题讨论】:
-
你需要调用 System.out.println() 否则不会有任何输出。
-
routeNum = route + "0"; onePath(temp.getLeftChild(),route+"0");routeNum = route + "1"; onePath(temp.getRightChild(), route+"1");。干净的方法是使用 StringBuffer
标签: java binary-tree binary-search-tree traversal preorder