reverse a linked list

本文提供了一个在C++中实现的反转单链表的方法。通过迭代方式更新当前节点的指针指向来完成链表的反转,并返回新的头节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Question: Write a function (in C# or C++)to reverse a linked list.

           Given a data structure:

       C++:

                       class Node

                       {

                       public:

                                   int data;

                                   Node* next;

                       };

       C#:

              classNode

              {

                     publicint data;

                     publicNode next;

              };

           Implement the function:

       InC++:

              Node*Reverse (Node* head)

              {

                     …

              }

       InC#:

                       Node Reverse (Node head)

                       {

                                   …

                       }

           It takes in the head of the linked list and is supposed to reverse the linkedlist and returns the new head.

//=====================================================

Node*reverse(Node *head){

        Node *tmp = head;

 

        Node *prev = 0;

        Node *tmpNext = tmp->next;

        while(tmp != 0){

                tmp->next = prev;

                if(tmpNext == 0) break;

                prev = tmp;

                tmp = tmpNext;

                tmpNext = tmp->next;

        }

 

        head = tmp;

        return head;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值