美文网首页
剑指offer-15-反转链表

剑指offer-15-反转链表

作者: Buyun0 | 来源:发表于2018-08-07 09:43 被阅读0次

反转链表:

输入一个链表,反转链表后,输出新链表的表头。

思路:三指针abc一次排列,每次都将b指向a,然后各推进一步,直到到达NULL节点。

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        if(pHead == NULL || pHead->next == NULL) return pHead;
        ListNode *a,*b,*c;
        a = pHead;
        b = pHead->next;
        if(b->next == NULL){
            b->next = a;
            a->next = NULL;
            return b;
        }
        c = b->next;
        a->next = NULL;
        while(true){
            b->next = a;
            a = b;
            b = c;
            if(c->next == NULL){
                c->next = a;
                return c;
            }
            c = c->next;
        }
    }
};

相关文章

  • 剑指offer-15-反转链表

    反转链表: 输入一个链表,反转链表后,输出新链表的表头。 思路:三指针abc一次排列,每次都将b指向a,然后各推进...

  • 反转链表

    《剑指offer》面试题24:输入一个链表,反转链表后,输出新链表的表头。 思路:反转链表就是将链表中每一个节点的...

  • 2022-03-26 链表反转回文

    反转链表:java版本: 剑指 Offer II 027. 回文链表[https://leetcode.cn/pr...

  • 24.反转链表

    剑指 Offer II 024. 反转链表[https://leetcode.cn/problems/UHnkqh...

  • 剑指offer:反转链表

    题目分析 输入一个链表,反转链表后,输出链表的所有元素。 代码

  • [剑指offer] 反转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头。 解题思路 设置三个指针,head为当前节点,pre为当前节...

  • 《剑指Offer》 反转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头。 源代码

  • 剑指offer:反转链表

    (Leetcode 206: reverse linked list)反转链表是比较重要的题,面试笔试经常会考。做...

  • [剑指Offer]反转链表

    本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02...

  • 【剑指 offer】反转链表

    1、题目描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 样例输入:1->2->3-...

网友评论

      本文标题:剑指offer-15-反转链表

      本文链接:https://www.haomeiwen.com/subject/fvhovftx.html