首页 > 其他 > 详细

链表反转???

时间:2020-03-26 00:02:33      阅读:59      评论:0      收藏:0      [点我收藏+]

借助指针?

技术分享图片
#include <iostream>
using namespace std;

struct LinkNode{
    int val;
    LinkNode* next;
    LinkNode(int v):val(v),next(NULL){};
};

class solution{
    public:
        LinkNode* reverse(LinkNode* head){
            if(head == NULL) return NULL;

            LinkNode* p = NULL;
            LinkNode* q = NULL;
            p = head->next;

            head->next = NULL;
            while(p){
                q = p->next;
                p->next = head;
                head = p;
                p = q;
            }
            return head;
        }

        void Print(LinkNode* head){
            if(head == NULL) return;
            LinkNode* p = NULL;
            p = head;
            while(p){
                cout<<p->val<<"  ";
                p = p->next;
            }
            cout<<endl;
        }
};

int main(){
    LinkNode node(5);
    node.next = new LinkNode(6);
    node.next->next = new LinkNode(7);
    solution s;
    s.Print(&node);
    LinkNode* p=s.reverse(&node);
    s.Print(p);
}
View Code

 

链表反转???

原文:https://www.cnblogs.com/bailuoxi/p/12571361.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!