题解 | #牛牛的单链表求和#
牛牛的单链表求和
https://www.nowcoder.com/practice/a674715b6b3845aca0d5009bc27380b5
#include <stdio.h> #include<stdlib.h> typedef struct SList { int date; struct SList* next; } SList; SList* CreatNode(int x) { SList* newNode = (SList*)malloc(sizeof(SList)); newNode->date = x; newNode->next = NULL; return newNode; } void TailPushBack(SList** phead, int* pa, int n) { int i = 0; while (i < n) { SList* newNode = CreatNode(pa[i++]); if (*phead == NULL) { *phead = newNode; } else { SList* pcur = *phead; while (pcur->next) { pcur = pcur->next; } pcur->next = newNode; } } } int SumSList(SList* phead){ SList* pcur=phead; int sum=0; while(pcur){ sum+=pcur->date; pcur=pcur->next; } return sum; } int main() { int n = 0; scanf("%d", &n); int* pa = (int*)malloc(n * sizeof(int)); for (int i = 0; i < n; i++) { scanf("%d", pa + i); } SList* head = NULL; TailPushBack(&head, pa, n); int ret = SumSList(head); printf("%d",ret); return 0; }