【发布时间】:2012-01-30 06:40:35
【问题描述】:
我有这个函数可以在 BST 中找到从根到叶的所有路径。
public static void paths(Node node, LinkedList<Integer> list) {
if (node == null) {
return;
}
list.add(node.data);
if (node.left == null && node.right == null) {
print(list);
return;
} else {
paths(node.left, list);
paths(node.right, list);
}
}
public static void print(LinkedList<Integer> list1) {
System.out.println("Contents of list: " + list1);
}
我称之为:
LinkedList list = new LinkedList();
paths(bt.root, list);
例如:
07
02
01 05
打印出来:
7 2 1
7 2 1 5 [instead of 7 2 5]
值 1 以某种方式保留在“列表”中,即使它从递归返回后也是如此。
【问题讨论】:
标签: java recursion linked-list