Почему мой код не работает для этого бинарного дерева вопроса на гиках для гиковC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему мой код не работает для этого бинарного дерева вопроса на гиках для гиков

Сообщение Anonymous »

https://www.geeksforgeeks.org/problems/ ... nt-nodes/1
Для этой проблемы это решение не работает:
class Solution {
public:
// Function to return the maximum sum of non-adjacent nodes.
int getMaxSum(Node *root) {
// code here
int sum1 =0, sum2 =0;
if(root == NULL) return 0;

queue q;
q.push(root);
bool flag = true;

while(!q.empty()){
int sz = q.size();
while(sz--){
Node* front = q.front();
q.pop();

if(flag) sum1 += front -> data;
else sum2 += front -> data;

if(front -> left) q.push(front -> left);
if(front -> right) q.push(front -> right);
}
flag = !flag;
}
return max(sum1,sum2);
}
};
< /code>
Поскольку в узлах нет отрицательных значений, поэтому ответ должен быть либо суммой четных уровней, либо нечетными уровнями? Кроме того, мы выбираем либо четные уровни, либо нечетные уровни, которые мы избегаем прямых родителей - Детские пары

Подробнее здесь: https://stackoverflow.com/questions/796 ... -for-geeks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»