题解 | 牛牛的单链表求和
牛牛的单链表求和
https://www.nowcoder.com/practice/a674715b6b3845aca0d5009bc27380b5
#include <stdio.h>
#include <stdlib.h>
#define N 100
struct Node
{
int data;
struct Node *next;
};
struct Node* createList(int *arr,int n)
{
struct Node*head = NULL, *tail = NULL;
for(int i = 0; i < n; i++)
{
struct Node *newNode = (struct Node*)malloc(sizeof(struct Node));
newNode -> data = arr[i];
newNode -> next = NULL;
if(head == NULL)
{
head = newNode;
tail = newNode;
}
else {
tail -> next = newNode;
tail = newNode;
}
}
return head;
}
int sumList(struct Node *head)
{
int sum = 0;
struct Node *p = head;
while(p != NULL)
{
sum += p -> data;
p = p -> next;
}
return sum;
}
int main()
{
int n;
scanf("%d",&n);
int arr[N];
int *p;
for(int *p = arr; p < arr + n; p++)
{
scanf("%d",p);
}
struct Node *head = createList(arr,n);
int total = sumList(head);
printf("%d",total);
return 0;
}

