剑指Offer - 面试题24. 反转链表(遍历/递归)
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. 反转链表(遍历/递归)相关推荐
- 剑指offer面试题24. 反转链表(双指针)
题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 思路 详见链接 代码 class Solution:def reverseList(self, head:ListN ...
- 剑指offer面试题[16]-反转链表
题目描述 输入一个链表,反转链表后,输出链表的所有元素. 解决与链表相关的问题总是有大量的指针操作,而指针操作的代码总是容易出错的的.很多面试官喜欢出链表相关的问题,就是想通过指针操作来考查应聘者的编 ...
- 剑指offer——面试题56:链表中环的入口
剑指offer--面试题56:链表中环的入口 Solution1: 非常经典的快慢指针套路题.下面这个链接讲解的很详细.其实问题的关键在于为什么快指针的速度一定是慢指针的2倍,3倍或4倍行不行?? 快 ...
- 剑指offer——面试题24:二叉搜索树的后序遍历序列
剑指offer--面试题24:二叉搜索树的后序遍历序列 Solution1: 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二 ...
- 剑指offer(15)反转链表
反转链表就是 先把当前节点所指向的原节点存起来,这里用tmp表示,此时tmp的值为2: 然后使当前节点指向前一个节点(cur.next=pre),然后将当前节点的值赋给pre(pre=cur):再然后 ...
- [剑指offer]面试题15:链表中倒数第k个结点
面试题15:链表中倒数第k个结点 题目:输入一个链表,输出该链表中倒数第 k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6个结点,从头结点开始 ...
- 剑指offer面试题15:链表中倒数第K个节点
题目:输入一个链表,输出该链表的倒数第K个节点.为了符合大多数人的习惯,本题从1开始计数,即链表尾节点是倒数第一个节点. 解题思路: 解法一:一般情况下,单向链表无法从后一个节点获取到它前面的节点,可 ...
- 剑指offer(C++)-JZ24:反转链表(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头. 数据范 ...
- 剑指Offer - 面试题18. 删除链表的节点
1. 题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点. 返回删除后的链表的头节点. 注意:此题对比原题有改动 示例 1: 输入: head = [4,5,1,9], val ...
最新文章
- CentOS用yum安装X Window
- mysql完整字段包括_MySQL字段类型最全解析
- perl中q,qq,qw,qr的区别。
- ubuntu 16.04系统中nvidai、cuda、cudnn安装及注意事项
- 博士生找工作的真相!就问一声:你是否足够强大?
- 树莓派智能小车python_人工智能-树莓派小车(1)——DuerOS语音唤醒
- 【路径规划】基于matlab模拟退火优化遗传算法求解避障路径规划问题【含Matlab源码 889期】
- 前端截取视频第一帧作为封面
- Python算法教程:强连通分量
- 全链路压测应该怎么做?答案都在这里了!
- html怎么调用jq和js,js的outerHTML 与jquery的prop()的用法
- 飘动图片广告html代码,基于JavaScript代码实现随机漂浮图片广告
- 2012中国软件业务收入百强企业发布 (zz.IS2120)
- Docker容器-------dockerfile概念简介
- PyQt5窗口滚动显示最新数据
- 计算机毕业设计SSM餐厅管理系统【附源码数据库】
- 电脑画流程图用什么软件好?这3款软件很好用
- 国际短信平台接口调用的方法步骤,简单5步快速教程
- 各大公司年报中真实的中国
- SEO优化之生成静态网页
热门文章
- python中none是什么类型_如何在Python中”测试”None类型?
- vue如何获取年月日_好程序员web前端教程分享Vue相关面试题
- 【设计模式 06】原型模式(克隆??)
- 一个服务器多个网站多个域名,多个域名一个服务器吗
- 数据结构:排序算法之堆排序和选择排序
- 字符串类型、结构体、共用体、枚举、container宏、内存来源
- LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???
- OA项目10:部门管理的三个细节问题的解决及处理懒加载问题
- HDU1003——MAX SUM
- Linux平台gcc和动态共享库的基础知识