反转链表——《剑指offer》
题目描述
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
限制:
0 <= 节点个数 <= 5000
思想
就是多设几个指针,分别表示当前结点,当前节点的前一个结点,当前结点的后一个结点,反转后的头结点。
代码实现
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode *pNode=head, //初始化当前结点*pPrev=nullptr, //将当前结点的前一个结点初始化为空*pReversedHead=nullptr, //链表为空时,反转后链表的头结点是空*pNext;while(pNode){ //当链表是空链表时,不会进行循环,会直接返回pReversedHead,此时值为空pNext=pNode->next;if(pNext==nullptr){ //如果当前结点的下一个结点为空时,说明这个结点时反转后的头结点pReversedHead=pNode;}pNode->next=pPrev;pPrev=pNode;pNode=pNext;}return pReversedHead;}
};
反转链表——《剑指offer》相关推荐
- 反转链表-剑指offer-16
题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 分析: 逐个头插,实现反转 设置3个指针:head 头节点.prev 前一个节点. cur 下一个节点 注意:链表为空, ...
- 从尾到头打印链表---剑指Offer
从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值. 解题思路: 1. 将带有头结点的链表顺序的从头到尾加入到ArrayList集合 2. 使用Collections工具类将ArrayLis ...
- 3、从尾到头打印链表------------剑指offer系列
题目 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 分析 要了解链表的数据结构: val属性存储当前的值,next属性存储下一个节点的引用. 要遍历链表就是不断找到当前节点的nex ...
- 面试题5:从尾到头打印单链表(链表--剑指offer)
题目描述 输入一个链表,从尾到头打印链表每个节点的值. //方法一:从头到尾打印单链表,将结果存放至vector中,然后将vector倒置 vector<int> printListFro ...
- 剑指offer第二版答案详细版(带详细解题思路)
1.滑动窗口的最大值(剑指offer原59题) 解题思路:其实是一个队列的问题,用一个队列去维护当前窗口中的所有元素:首先将超出窗口中的队头元素先删掉,然后将新的元素插入当前窗口中,插入时要判断新插入 ...
- 《剑指offer》题目说明
剑指offer推荐刷题地址: Leetcode: https://leetcode-cn.com/problemset/lcof (官方授权) 牛客网:https://www.nowcoder.com ...
- C#LeetCode刷题-剑指Offer
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-剑指Offer | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode剑指Offer ...
- 力扣OJ 剑指 Offer(1-30)
目录 剑指 Offer 03. 数组中重复的数字 剑指 Offer 04. 二维数组中的查找 剑指 Offer 05. 替换空格 剑指 Offer 06. 从尾到头打印链表 剑指 Offer 07. ...
- 力扣OJ 剑指 Offer II
目录 剑指 Offer II 001. 整数除法 剑指 Offer II 002. 二进制加法 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 剑指 Offer II 004. ...
- 剑指offer刷题记录 python3 Java
剑指offer刷题记录 python3 Java 剑指 Offer 09. 用两个栈实现队列 剑指 Offer 10- I. 斐波那契数列 剑指 Offer 03. 数组中重复的数字 [★]剑指 Of ...
最新文章
- C语言数组清空的几种方法比较
- 反问疑问_句子练习大全(反问、疑问、设问、病句等练习)
- 解决Eclipse里Maven工程报 An error occurred while filtering resources错误
- 关系数据库——并发控制
- 中国水痘带状疱疹感染治疗药物市场趋势报告、技术动态创新及市场预测
- Ubuntu16下载tomcat8
- XSRF(XSS+CSRF)
- 每天一道剑指offer-合并两个排序的链表
- 委托(delegate)的三种调用方式:同步调用,异步调用,异步回调
- VOSviewer使用方法(详细便捷)附下载网址
- 苹果手机html5定位,苹果手机常去地点可以记录多长时间?
- python无限循环一段句子,python无限循环语句如何实现
- bat:windows bat脚本修改文件内容
- 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...
- 微信小程序上实现 table 表格
- axTOCControl.HitTest方法
- fpc : 调用 MS TTS 读中英文
- rac 火星舱如何备份oracle_火星舱cdp功能-rpo与rto可以做到什么程度
- Linux setup jdk environment
- java多线程的几种实现方式