题解 | #牛牛的单向链表#
牛牛的单向链表
https://www.nowcoder.com/practice/95559da7e19c4241b6fa52d997a008c4
#include <stdio.h> #include<stdlib.h> typedef struct SList { int date; struct SList* next; } SList; SList* CreatSList(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 = CreatSList(pa[i++]); if (*phead == NULL) { *phead = newNode; } else { SList* pcur = *phead; while (pcur->next) { pcur = pcur->next; } pcur->next = newNode; } } } void PrintSList(SList* phead) { SList* pcur = phead; while (pcur) { printf("%d ", pcur->date); pcur = pcur->next; } } 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); PrintSList(head); return 0; }