1, 前言:
由于年初面试的时候,遇见的大部分公司要求笔试,而笔试中关于链表的操作,都会有单链表逆序这个题目,所以写出来自己的一点理解。
2,概述:
链表, 顾名思义, 就是我们现实生活中一根链子,链子是由环(节点)组成的,环环相扣,如下图(图1):
图1
3,单链表逆序的操作:
这是一根(有头无环)的单链表,而我们要做的事情呢 , 就是在不额外增加结点(node)的情况下,把head指针移动到尾结点的位置, 同时从左向右--->的结点之间的指针,变成<----- 这样反向的, 如下图(图2):
图2
从图1到图2总共做了4个步骤, 这4个步骤分别就是 :
head->next = prev;
prev = head;
head = next;
next = head->next;
这个算法现在就是循环的迭代体了 &