请问各位大佬,递归method可不可以 写成
public static void methodName(){
}
而不是必须写成
public static returnType methodName(){
}
然后递归为什么有的时候用return type 的时候,
我已经return 值了
但是还是显示需要return 值
请问各位大佬,递归method可不可以 写成
public static void methodName(){
}
而不是必须写成
public static returnType methodName(){
}
然后递归为什么有的时候用return type 的时候,
我已经return 值了
但是还是显示需要return 值
递归,递的是参数,归的是return对象
我现在有个树对象,我要找这个树对象所有叶节点值得总和,然后拿到这个值去做其他事情
public static int sum(Node n) {
if (n.children.size() == 0) {
return n.getValue();
} else {
return n.children.stream().map(c -> sum(c)).reduce(Integer::sum).get();
}
}
我需要把每个叶节点的isLeaf字段射程true,非叶设成false
public static void setIsLeaf(Node n) {
boolean isLeaf = n.children.size() == 0;
n.setIsLeaf(isLeaf);
if (!isLeaf) {
n.children.stream().forEach(c -> setIsLeaf(c))
}
}