首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每日一练 反转链表

反转链表

题目

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL

输出: 5->4->3->2->1->NULL

解析

原链表的头指针的下一个节点指向一个临时节点,并把这个节点的下一个节点指回到当前节点,这样就做了一个翻转,直到最后一个节点为空;

代码

class Solution {

public:

ListNode* reverseList(ListNode* head) {

if(head == NULL || head->next == NULL)

{

return head;

}

ListNode* pre = head;

ListNode* cur = NULL;

while(pre != NULL)

{

ListNode* tmp = pre->next;

pre->next = cur;

cur = pre;

pre = tmp;

}

return cur;

}

};

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200328A07QID00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券