9898. LinkedList Сумма
Задан
связный список. Найдите сумму его элементов.
Определение
связного списка:
//Java
class ListNode {
int val;
ListNode
next;
ListNode(int x) {
val = x;
next = null;
}
}
// C++
class ListNode
{
public:
int val;
ListNode
*next;
ListNode(int x) :
val(x), next(NULL) {}
};
// C
struct ListNode
{
int val;
struct ListNode* next;
};
Реализуйте
функцию sum, которая находит
сумму элементов связного списка.
// Java
int sum(ListNode head)
// C, C++
int sum(ListNode *head)
Пример
Сумма
элементов списка равна 6.
связный
список
Двигаемся по
списку с начала в конец и суммируем значения всех его элементов.
Реализация алгоритма
В переменной res подсчитываем
сумму элементов списка.
int sum(ListNode *head)
{
int res = 0;
Двигаемя вперед по списку пока head не станет раным NULL. Прибавляем к res текущее
значение элемента списка head->val.
while (head != NULL)
{
res += head->val;
head = head->next;
}
return res;
}
Java реализация
int sum(ListNode head)
{
int res = 0;
while(head != null)
{
res += head.val;
head = head.next;
}
return res;
}