笔试小结--链表逆置

最近笔试好多,基本每次都会有这个问题,现在总结一下:
链表逆置很容易就会能实现,这个方法是原地逆置,面试中比较喜欢问。

代码如下:

typedef struct Node
{
    struct Node* next;
    int val;
}Node;                                        //结构体定义

void reverse(Node *&head)
{
    if(head == NULL)
        return ;
    Node* p = head->next;
    while(p != NULL)                         //不断从头遍历,然后头插
    {
        p->next = head->next;
        head->next = p;
    }
}


你可能感兴趣的:(c语言,面试,链表,逆置)