给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:

输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

示例 2:

输入:head = [1,2]
输出:[2,1]

示例 3:

输入:head = []
输出:[]

提示:

  • 链表中节点的数目范围是 [0, 5000]
  • -5000 <= Node.val <= 5000

解答思路:

  • 链表的头插法
struct ListNode* reverseList(struct ListNode* head){if (head==NULL || head->next==NULL){return head;}struct ListNode *pre = NULL;        //pre指向空节点struct ListNode *cur = head;        //cur指向头结点headstruct ListNode *next = head->next;  //在断开链之前,暂存后继节点while (next!=NULL){         // 如果head为空就不会进入循环cur->next = pre;         //断开现在的链,重新指向pre = cur;              //pre 暂存 cur,作为cur下一步的前继节点cur = next;             //cur 访问下一节点next = next->next;}cur->next = pre;             //此时cur指向null,返回cur的前继节点prereturn cur;
}

LeetCode 206. 反转链表(c语言实现)相关推荐

  1. LeetCode 206. 反转链表 Reverse Linked List

    5-1 链表,在节点间穿针引线 Reverse Linked List 题目: LeetCode 206. 反转链表 反转一个单链表. 示例: 输入: 1->2->3->4-> ...

  2. LeetCode 206. 反转链表(Reverse Linked List) 16

    206. 反转链表 206. Reverse Linked List 题目描述 反转一个单链表. 每日一算法2019/5/19Day 16LeetCode206. Reverse Linked Lis ...

  3. LeetCode 206. 反转链表

    206. 反转链表 难度 简单 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输 ...

  4. leetcode - 206. 反转链表

    反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代 ...

  5. 【Java】LeetCode 206 反转链表

    题目 :给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 解题思路 : 1.根据以上代码 ,来进行反转链表的操作: 2.最后实现的效果为: 具体思路: 1.首先判断如果链表为空的话, ...

  6. 26. Leetcode 206. 反转链表 (链表-反转链表)

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表.示例 1:输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2:输入:head = [1,2] 输出:[ ...

  7. [leetcode] 206.反转链表

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输 ...

  8. LeetCode 206. 反转链表 思考分析

    题目 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可 ...

  9. LeetCode 206. 反转链表 双指针法 辅助结点 递归

    题目链接 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000 进阶: ...

  10. LeetCode 206.反转链表

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输 ...

最新文章

  1. tar 解压缩命令详解
  2. Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题
  3. 【软件开发底层知识修炼】二十八 C/C++中volatile的作用
  4. 反序列化 php R类型,pikachu-PHP反序列化、XXE、SSFR
  5. 循序渐进db2 第3版_「图书推荐」焊接工程师手册第3版
  6. c#之Stringbuilder、String、Append
  7. zappos核心价值_尽管Zappos说了什么,中层管理人员仍然很重要
  8. Android自定义控件学习(七)-------优化视图
  9. hdu 1978 How many ways
  10. 背包问题 装箱问题 货盘装填问题 区别
  11. 新系统基础优化--Centos6.6
  12. java json序列化日期类型
  13. ThinkPHP带表情无限级评论回复
  14. linux进程管理数据结构,谢烟客---------Linux之进程管理基础概念
  15. BT06串口蓝牙模块的配置以及与电脑的配对
  16. app开发外包公司一般报价多少钱?
  17. 深度学习去燥学习编码_您不应该学习编码的5个理由
  18. which must be escaped when used within the value
  19. Windows下生成dump文件的三种方式
  20. const* 和 *const

热门文章

  1. iframe 的基本用法
  2. Excel VBA 操作 Word(入门篇)
  3. Latex slide中添加算法流程图
  4. VBScript编程教程 [上]
  5. VBScript教程-第三章. 脚本的组成部分
  6. ecshop二次开发_Logo和版权信息
  7. ST7789-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)
  8. 东芝固态硬盘工具for linux,用东芝笔记本Portege R100下安装Linux的进来参考这篇文章...
  9. jdk,j2sdk,j2eesdk,jre 的区别和联系
  10. css border设置为透明