单向链表的逆转

// 单向链表的逆转
#define elem_type int
typedef struct _node {
    elem_type data;
    struct _node *next;
} Node;

Node* reverse(Node* L)
{
    Node *p, *q, *t;
    p = L;
    q = NULL;
    
    // 将 p 的每个节点插到 q 的头
    while (p! = NULL){
        t = p->next;    // 记下 p 的下一个节点
        p->next = q;    // 将 P 节点插入到 q 的头
        q = p;  // 让 q 重新指向头节点
        p = t;  // 让 p 指向他的下一个节点
    }
    
    return q;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容