我必須從根節點到葉節點找到最大總和。 我已經拿出了下面的節點,但它沒有給出正確的輸出。樹可以有兩個以上的子節點(它不是二叉樹)。樹中最高總和的路徑
public static long findBestPath(Path path) {
long max = 0, sum = 0;
if (path.getChildren().size() == 0)
return path.getValue();
else if (path.getChildren().size() == 1)
return path.getValue() + findBestPath(path.getChildren().get(0));
else {
for (int i = 0; i < path.getChildren().size(); i++) {
sum = path.getChildren().get(i).getValue() + findBestPath(path.getChildren().get(i));
if (sum > max)
max = sum;
}
return max;
}
}
我用另一種方法來解決我的問題。儘管知道正確的解決方案來尋找非二叉樹的最大和路徑是很好的。
對不起,不能upvote。我沒有足夠的聲望。 –
你有沒有在鏈接中找到好解釋? – uniquephase