反转链表
输入一个链表,反转链表后,输出新链表的表头。

思想:如果要使得链表反转,就要next的next 指向它,但是这样next ->next就会丢失成为野指针,所有要先那一个变量把它存起来,然后在后移,改变下一个的指针,最后 ,phead 的next 设置为空,在最后的结构体指针赋值给phead返回回去。

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}
};*/
class Solution {
public:ListNode* ReverseList(ListNode* pHead) {if(pHead == NULL || pHead->next == NULL) return pHead;ListNode* cur = pHead;ListNode* _next = pHead->next;pHead->next = NULL;ListNode* nnext = NULL;while(_next != NULL){nnext = _next->next;_next->next = cur;cur = _next;_next = nnext;}pHead = cur;return pHead;}
};

剑指offer--反转链表相关推荐

  1. 剑指offer -- 反转链表

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

  2. 【链表】剑指offer:反转链表

    描述 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头. 要求:空间复杂度 O(1),时间复杂度 O(n) . 当输入链表{1 ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. 剑指offer之链表续

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

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

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

最新文章

  1. Weiss的数据结构与算法分析(C++版)源码编译说明
  2. 最新!2022中国大学排名发布
  3. HDU 4708 Rotation Lock Puzzle(模拟)
  4. ubuntu16.04下面git与github对应起来
  5. 移动端系列讲解之字体单位
  6. JavaFX技巧32:需要图标吗? 使用Ikonli!
  7. 整理sqlserver 级联更新和删除 c#调用存储过程返回值
  8. 开源运维管理软件排名_云上自动化部署和运维的正确姿势
  9. Docker 入门实践
  10. 微波工程(1)——电磁理论
  11. 数控常见的几种国内外数控系统,你都熟悉吗
  12. PyQT5一起学做图书管理系统(2)初始化数据库
  13. 毕业设计—基于FPGA的极化码译码研究
  14. 二叉排序树和二叉平衡树
  15. Java程序员未来职业应如何规划?
  16. Docker容器无法解析域名
  17. Cannot create PoolableConnectionFactory (Communications link failure due to unde
  18. 技术实践干货 | 初探大规模 GBDT 训练
  19. android 本地图片模糊,Android端图片模糊的实现原理及方案
  20. 鲁大师2022年度硬件榜单即将出炉,多维度看谁能夺奖?

热门文章

  1. 深度学习之yolov5目标识别全过程记录(纯小白)
  2. rpt是什么的缩写_rpt是什么意思车上的
  3. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(3)
  4. 有缘相聚,因skycc 营销软件
  5. 网上购车平台超低首付买车再度掀起大波浪!
  6. Yilia使用搜狐畅言配置
  7. jdk源码分析,Java视频全套
  8. 【STM32F103ZE】TOF250(TTL)基于STM32系列开发板的运用
  9. 【测绘程序设计】——地形图图幅号计算
  10. 怎么在应用中实现自助报表功能?