首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何仅使用两个指针来反转单链表?

如何仅使用两个指针来反转单链表?
EN

Stack Overflow用户
提问于 2009-11-26 12:34:26
回答 31查看 265K关注 0票数 114

我想知道是否存在只使用两个指针来反转单链表的逻辑。

下面的代码使用三个指针(即pqr )来反转单个链表

代码语言:javascript
运行
复制
struct node {
    int data;
    struct node *link;
};

void reverse() {
    struct node *p = first,
                *q = NULL,
                *r;

    while (p != NULL) {
        r = q;
        q = p;
        p = p->link;
        q->link = r;
    }
    first = q;
}

是否有其他替代方案可以反转链表?就时间复杂度而言,反转单链表的最佳逻辑是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1801549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档