Возникает вопрос:дерево, делает значение, равное сумме (булевой выход)
Определит «корень-к-листу путь», чтобы быть любой последовательностью узлов в дереве, начиная с корневым узлом и переходя вниз к листу. «Корневой путь пути» для этого пути является суммой всех узлов (включая корень) вдоль этого пути. Определите пустое дерево, чтобы не содержать путей от корня к листу (и, следовательно, его сумма равна нулю). Определите дерево с одним узлом, чтобы иметь путь от root-to-leaf, состоящий только из корня (и поэтому его сумма представляет собой значение корня). Учитывая двоичное дерево и значение «sum», верните true, если дерево имеет некоторый путь от root-to-leaf, так что добавление всех значений вдоль пути равно «sum». Верните false, если такой путь не найден.
и у меня есть:
public boolean BTpathsum(BinNode root, int sum)
{
if(root==null)
{
return false;
}
else if(root.value() == sum){
return true;
}
else{
return BTpathsum(root.left, sum - root.value()) || BTpathsum(root.right, sum - root.value());
}
}
Почему это оказывается неправильным для меня?