1. 题目

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL限制:
0 <= 节点个数 <= 5000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

相同题目:LeetCode 206. 反转链表

2.1 循环

class Solution {public:ListNode* reverseList(ListNode* head) {if(!head)return head;ListNode *prev = NULL, *nt = head->next;while(head && head->next){head->next = prev;prev = head;head = nt;nt = nt->next;}head->next = prev;return head;}
};

2.2 递归

class Solution {ListNode *newhead;
public:ListNode* reverseList(ListNode* head) {if(!head || !head->next)return head;ListNode *newHead = reverseList(head->next);head->next->next = head;//head->next下一个的next指向前面headhead->next = NULL;//避免循环链表return newHead;//每层都返回最后一个节点,新的头}
};

剑指Offer - 面试题24. 反转链表(遍历/递归)相关推荐

  1. 剑指offer面试题24. 反转链表(双指针)

    题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 思路 详见链接 代码 class Solution:def reverseList(self, head:ListN ...

  2. 剑指offer面试题[16]-反转链表

    题目描述 输入一个链表,反转链表后,输出链表的所有元素. 解决与链表相关的问题总是有大量的指针操作,而指针操作的代码总是容易出错的的.很多面试官喜欢出链表相关的问题,就是想通过指针操作来考查应聘者的编 ...

  3. 剑指offer——面试题56:链表中环的入口

    剑指offer--面试题56:链表中环的入口 Solution1: 非常经典的快慢指针套路题.下面这个链接讲解的很详细.其实问题的关键在于为什么快指针的速度一定是慢指针的2倍,3倍或4倍行不行?? 快 ...

  4. 剑指offer——面试题24:二叉搜索树的后序遍历序列

    剑指offer--面试题24:二叉搜索树的后序遍历序列 Solution1: 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二 ...

  5. 剑指offer(15)反转链表

    反转链表就是 先把当前节点所指向的原节点存起来,这里用tmp表示,此时tmp的值为2: 然后使当前节点指向前一个节点(cur.next=pre),然后将当前节点的值赋给pre(pre=cur):再然后 ...

  6. [剑指offer]面试题15:链表中倒数第k个结点

    面试题15:链表中倒数第k个结点 题目:输入一个链表,输出该链表中倒数第 k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6个结点,从头结点开始 ...

  7. 剑指offer面试题15:链表中倒数第K个节点

    题目:输入一个链表,输出该链表的倒数第K个节点.为了符合大多数人的习惯,本题从1开始计数,即链表尾节点是倒数第一个节点. 解题思路: 解法一:一般情况下,单向链表无法从后一个节点获取到它前面的节点,可 ...

  8. 剑指offer(C++)-JZ24:反转链表(数据结构-链表)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头. 数据范 ...

  9. 剑指Offer - 面试题18. 删除链表的节点

    1. 题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val ...

最新文章

  1. CentOS用yum安装X Window
  2. mysql完整字段包括_MySQL字段类型最全解析
  3. perl中q,qq,qw,qr的区别。
  4. ubuntu 16.04系统中nvidai、cuda、cudnn安装及注意事项
  5. 博士生找工作的真相!就问一声:你是否足够强大?
  6. 树莓派智能小车python_人工智能-树莓派小车(1)——DuerOS语音唤醒
  7. 【路径规划】基于matlab模拟退火优化遗传算法求解避障路径规划问题【含Matlab源码 889期】
  8. 前端截取视频第一帧作为封面
  9. Python算法教程:强连通分量
  10. 全链路压测应该怎么做?答案都在这里了!
  11. html怎么调用jq和js,js的outerHTML 与jquery的prop()的用法
  12. 飘动图片广告html代码,基于JavaScript代码实现随机漂浮图片广告
  13. 2012中国软件业务收入百强企业发布 (zz.IS2120)
  14. Docker容器-------dockerfile概念简介
  15. PyQt5窗口滚动显示最新数据
  16. 计算机毕业设计SSM餐厅管理系统【附源码数据库】
  17. 电脑画流程图用什么软件好?这3款软件很好用
  18. 国际短信平台接口调用的方法步骤,简单5步快速教程
  19. 各大公司年报中真实的中国
  20. SEO优化之生成静态网页

热门文章

  1. python中none是什么类型_如何在Python中”测试”None类型?
  2. vue如何获取年月日_好程序员web前端教程分享Vue相关面试题
  3. 【设计模式 06】原型模式(克隆??)
  4. 一个服务器多个网站多个域名,多个域名一个服务器吗
  5. 数据结构:排序算法之堆排序和选择排序
  6. 字符串类型、结构体、共用体、枚举、container宏、内存来源
  7. LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???
  8. OA项目10:部门管理的三个细节问题的解决及处理懒加载问题
  9. HDU1003——MAX SUM
  10. Linux平台gcc和动态共享库的基础知识