转载别人的博客,考虑的很全面。
(1)链表的基本知识:
https://blog.csdn.net/morixinguan/article/details/68951912
(2)将两个有序的链表合并。
https://blog.csdn.net/u012155923/article/details/52629526
(3)链表翻转
1>非递归实现的程序
node* reverseList(node* H) { if (H == NULL || H->next == NULL) //链表为空或者仅1个数直接返回 return H; node* p = H, *newH = NULL; while (p != NULL) //一直迭代到链尾 { node* tmp = p->next; //暂存p下一个地址,防止变化指针指向后找不到后续的数 p->next = newH; //p->next指向前一个空间 newH = p; //新链表的头移动到p,扩长一步链表 p = tmp; //p指向原始链表p指向的下一个空间 } return newH; }