之前一段时间有在看数据结构,过了几天去面试,boss出了一道题——单链表的逆置,我傻眼了,虽然一个月以前也被问到过同样的问题,而且还专门参阅了正确答案,但是当boss问出口的那一瞬间,头头脑居然一片空白,Oh,God~~
好吧,既然不记得了,那就硬着头皮自己写,一遍,两遍,三遍之后,终于完成了这个最基本的面试题。
面试最终肯定是黄了,不过单链表的逆置应该永远都会铭记,铭记……了吧
下面吧函数代码贴出来:
Node * Reverse_List(Node * L)
{
if(L->next == null || L == null)
return L;
Node *p1, *p2;
p1 = L->next;
p2 = p1->next;
L->next = null;
while(p2)
{
p1->next = L;
L = p1;
p1 = p2;
p2 = p1->next;
}
return L;
}