# Sum of all Nodes

Iterative and recursive way of finding the sum of data of all the nodes in a linked list.

int sum(struct node *ptr) {

// A variable to keep track of sum

int sum = 0;

// Iterate till ptr becomes NULL

while (ptr != NULL) {

sum += ptr -> data;

ptr = ptr -> next;

}

return sum;

}

int sum(struct node *ptr) {

// Base condition for termination

if (p == NULL) {

return 0;

}

// Recursive call

else {

return sum(ptr -> next) + p -> data;

}

}

Iterative

Recursive

Time complexity :

**O(n)**Space complexity :**O(n)**Time complexity :

**O(n)**Space complexity :**O(1)**Contributed by Nitin Ranganath