【发布时间】:2013-03-04 20:27:05
【问题描述】:
我很难实现一个程序来查找从 b 树根节点到节点的路径,该路径是 5 的倍数。
例子:
12
/ \
4 7
/\ /\
5 3 4 10
将此视为树。 程序应该打印
12 -> 4 -> 5
12 -> 7 -> 10
编辑:
是的,我已经尝试过,以下是我正在遵循的算法:我按顺序遍历并比较 5 的倍数的值。如果是,我开始在 LinkedList 中添加节点并返回该列表。但这种方法只有在我有一个 5 的倍数时才有效。如果有更多倍数,它就会失败。
以下是我尝试过的:
LinkedList<Integer> getPaths(Node parent, int multiple){
if(parent == null)
return null;
LinkedList list = new LinkedList();
list = getPaths(parent.getLeftChild(), 5);
if(parent.getSID() % multiple == 0){
list.add(parent.getSID());
return list;
}
list = getPaths(parent.getRightChild(),5);
if(list != null)
list.add(parent.getSID());
return list;
}
【问题讨论】:
-
你试过了吗?
-
我找不到任何“?”在你的问题中。
-
是的,我已经尝试过,以下是我正在遵循的算法:我按顺序遍历并比较 5 的倍数的值。如果是,我开始在 LinkedList 中添加节点并返回回列表。但是这种方法只有在我有一个 5 的倍数时才有效。如果有更多倍数,它就会失败。
-
将重要信息作为问题的一部分发布(通过编辑)。
-
我已经编辑了帖子。
标签: java algorithm tree binary-tree