描述

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

要求:空间复杂度 O(1),时间复杂度 O(n) 。

当输入链表{1,2,3}时,

经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。

以上转换过程如下图所示:

增加一个首节点,遍历链表用头插法插入首节点后(p结点遍历,q结点记录位置)

代码:

class Solution {
public:ListNode* ReverseList(ListNode* pHead) {ListNode *head=new ListNode(0);ListNode *p=pHead,*q;while(p){q=p->next;p->next=head->next;head->next=p;p=q;}return head->next;}
};

【链表】剑指offer:反转链表相关推荐

  1. 剑指offer -- 反转链表

    先摆明重要性 剑指offer -- 反转链表  校招原题 解法一:迭代 翻转 即 将所有节点的next指针指向前驱节点. 由于是单链表,我们在迭代时不能直接找到前驱节点,所以我们需要一个额外的指针保存 ...

  2. 剑指offer反转链表(C++实现|测试用例|迭代法和递归法)

    方法1:迭代法 代码: #include<iostream> using namespace std; struct ListNode { int val; ListNode *next; ...

  3. 【每日一题】剑指 Offer 22. 链表中倒数第k个节点

    剑指 Offer 22. 链表中倒数第k个节点

  4. 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点

    [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...

  5. 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)

    19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...

  6. 每日一题——剑指 Offer24反转链表

    如果您是第一次看我写的博客,可以给我点个赞并关注我吗,我会持续分享更多有意思的干货. 文章目录 1 题目 2 思路 3 代码 4 小结 1 题目 剑指 Offer 24. 反转链表 定义一个函数,输入 ...

  7. 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:链表中倒数第k个结点 题目描述 输入一个链表,输出该链表中倒数第k个结点. 节点结构如下: public class ListNode {int val ...

  8. 剑指offer之链表续

    面试题17:合并两个有序链表 这道题用递归,很容易实现,但是一定要注意代码鲁棒性 下面是源码: public static ListNode MergeList(ListNode head1,List ...

  9. 《剑指offer》-- 链表中倒数第k个节点、反转链表、合并两个排序的链表

    一.链表中倒数时第k个节点: 1.题目: 输入一个链表,输出该链表中倒数第k个结点. 2.解题思路:单链表具有单向移动的特性. (1)第一种:先遍历链表,算出链表节点数count,第二次直接遍历到第c ...

最新文章

  1. php无限极分类实例,PHP实例:PHP无限极分类
  2. mysql连接数详解_MySQl 修改最大连接数详解
  3. Niginx工作笔记-通过error.log定位错误(记录一个寻找问题的方法)
  4. 「小程序JAVA实战」 小程序的事件(11)
  5. SAP自学指南:案例公司的概括
  6. java 微信开发图片发送,微信开发?Java上传Base64图片
  7. MongoDB命令学习
  8. go的匿名函数和闭包
  9. SUBSTRING_INDEX
  10. html显示链接音乐,歌曲链接怎么填_HTML中如何链接本地音乐
  11. html百度地图导航起点默认定位位置,百度地图如何设置起点
  12. android 字符串大小写转换
  13. c语言arg是什么函数,arg函数(arg辐角公式)
  14. 【转】对Android开发者有益的40条优化建议
  15. 10个免费的jQuery富文本编辑器
  16. SQL Server 索引(index) 和 视图(view) 的简单介绍和操作
  17. 威廉·欧奈尔:为何我的A股账户只持有一只股票?(建议收藏)
  18. 吴恩达---机器学习笔记
  19. c语言编程 菲薄拉,C语言设计模式-封装-继承-多态
  20. 微信读书,还有没有商业变现的机会?

热门文章

  1. Windows Phone 7 开发 31 日谈——第13日:位置服务
  2. UVA10465 Homer Simpson【递推】
  3. Bailian2911 受限完全平方数【暴力】
  4. HDU2076 夹角有多大【水题】
  5. CCF201412-3 集合竞价(100分)
  6. R 语言的学习 —— 环境准备与安装
  7. 调制:调幅(AM)与调频(FM)
  8. 算法求解中的变量、数组与数据结构(STL 中的容器)
  9. Git 基础(八)—— Github 的使用(账号管理)
  10. 领域驱动设计 软件核心复杂性应对之道_DDD - 领域驱动设计对软件复杂度的应对(上)...