描述如下:

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

方法一:原地反转
数据结构如下

 struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};
ListNode* reverseList(ListNode* head) {ListNode *new_head = NULL;while(head) {ListNode *p = head->next;head->next = new_head;new_head = head;head = p;}return new_head;
}

方法二:递归反转
n1–>n2–>…–>n(k)–>n(k+1)–>…–>n(n)

加入n(k+1)之后的已经全部反转完成
n1–>n2–>…–>n(k)–>n(k+1)<–…<–n(n)

那么我们想要让n(k+1)–>n(k),可以如下方式
n(k)->next->next = n(k)
当然针对n1,我们需要将n1的下一个指向为空

ListNode* reverseList(ListNode* head) {if(head == NULL || head->next == NULL) return head;ListNode *p = reverseList(head->next);head -> next -> next = head;head -> next = NULL;return p;
}

leetcode-206 反转链表相关推荐

  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. 线段树扫描线求矩形周长详解
  2. python 小数点精度_Python 3浮点小数点/精度 - python
  3. Centos6.5安装Seafile,遇到的问题处理记录。
  4. python flask 表单数据输出_将数据从HTML表单发送到Flask中的Python脚本
  5. tail | grep引起的内存升高【对比三天数据】
  6. bzoj1046(HAOI2007)上升序列
  7. linux qt交叉编译opencv,c-使用Qt和opencv交叉编译到Raspberry Pi
  8. JSONOBject的fluentPut(key,value)方法:可链式设置元素
  9. geoiplookup命令没有任何输出问题
  10. 优学院java架构52破解_2021年优学院Java程序设计(山西工程职业学院)课后习题答案...
  11. 最新搭建GIT服务器仓库
  12. 人生七大纲要——道、德、仁、义礼、智、信
  13. WPF分享一个登录界面设计
  14. POJ1759Garland题解
  15. Notepad 追加字符
  16. 互联网晚报 | 05月17日 星期二 | 郑州首套房贷利率最低降至4.4%;可口可乐被曝员工不得购买竞品...
  17. C# 字符串转意和反转意
  18. 常见的端口漏洞入侵主机
  19. OJ刷题---鸡兔同笼问题
  20. VMware Workstation 15 Pro 激活密钥

热门文章

  1. 源文件封装为IP的步骤
  2. 14/10/校内测试{天天考,丧心病狂}
  3. 标准c语言怎么绘图,C语言绘图问题
  4. aml linux 环境,各位辛苦编译DSDT.aml的兄弟,linux是个好工具啊,简单提取
  5. python 特征选择卡方_特征选择
  6. python 申请内存空间、用于创建多维数组_python 申请内存空间,用于创建多维数组的实例...
  7. 浅谈对html css的理解,HTML+CSS入门 CSS选择器 、属性和值浅谈
  8. java 小对话框_创建Java对话框
  9. 我的世界服务器ess配置信息,[搬运贴]超详细的Ess基础插件介绍
  10. go定时器 每天重复_通过测试学习Go:Hello, World