• 反转链表


    题目描述

    输入一个链表,反转链表后,输出链表的所有元素。

    分析:应当设置三个指针,一个指向前驱元素,一个指向后继元素,另外一个保留后继的下一个元素,使得链表指向可以继续向后移动。

    /*
    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 *pre=nullptr;
            ListNode *next=nullptr;
            ListNode *node=pHead;
            while(node!=nullptr)
            {
                next=node->next;
                node->next=pre;
                pre=node;
                node=next;
            }
            return pre;
            
        }
    };
  • 相关阅读:
    记账本开发第一天-补
    20200418-补
    20200411-补
    20200404-补
    20200328-补
    暴力解N皇后
    nN皇后递归
    Hanoi汉诺塔非递归栈解
    Hanoi汉诺塔递归
    JMMjmm模型
  • 原文地址:https://www.cnblogs.com/leezoey/p/8672517.html
Copyright © 2020-2023  润新知