LeetCode 206. Reverse Linked List (倒转链表)
Reverse a singly linked list.
题目标签:Linked List
题目给了我们一个链表,要求我们倒转链表。
利用递归,新设一个newHead = null,每一轮 把下一个 node 存入 next 记住,把目前的点 cursor 连到 newHead;
然后把 next 当作新的 cursor;把 cursor 当作新的 newHead 递归下去。
换句话说,每到一个点,把下一个点(右边的)记住,传到下一轮,然后把目前的点反向链接(向左链接)。
Java Solution:
Runtime beats 22.53%
完成日期:06/11/2017
关键词:singly-linked list
关键点:递归向左链接;记住右边的点代入下一轮
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution
{
public ListNode reverseList(ListNode head)
{
return dfs(head, null);
} private ListNode dfs(ListNode cursor, ListNode newHead)
{
if(cursor == null)
return newHead; ListNode next = cursor.next;
cursor.next = newHead; return dfs(next, cursor);
}
}
参考资料:N/A
LeetCode 题目列表 - LeetCode Questions List
题目来源:https://leetcode.com/
LeetCode 206. Reverse Linked List (倒转链表)的更多相关文章
- [LeetCode] 206. Reverse Linked List 反向链表
Reverse a singly linked list. Hint: A linked list can be reversed either iteratively or recursively. ...
- [LeetCode] 206. Reverse Linked List ☆(反转链表)
Reverse Linked List 描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3-> ...
- LeetCode 206. Reverse Linked List倒置链表 C++
Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4-> ...
- [leetcode]206. Reverse Linked List反转链表
Reverse a singly linked list. Input: 1->2->3->4->5->NULL Output: 5->4->3->2- ...
- leetcode 206. Reverse Linked List(剑指offer16)、
206. Reverse Linked List 之前在牛客上的写法: 错误代码: class Solution { public: ListNode* ReverseList(ListNode* p ...
- 迭代和递归 - leetcode 206. Reverse Linked List
Reverse Linked List,一道有趣的题目.给你一个链表,输出反向链表.因为我用的是JavaScript提交,所以链表的每个节点都是一个对象.例如1->2->3,就要得到3-& ...
- C++版 - 剑指offer 面试题16:反转链表(Leetcode 206: Reverse Linked List) 题解
面试题16:反转链表 提交网址: http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId= ...
- LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)
翻译 反转一个单链表. 原文 Reverse a singly linked list. 分析 我在草纸上以1,2,3,4为例.将这个链表的转换过程先用描绘了出来(当然了,自己画的肯定不如博客上面精致 ...
- [LeetCode]206. Reverse Linked List(链表反转)
Reverse a singly linked list. click to show more hints. Subscribe to see which companies asked this ...
随机推荐
- 新开的坑-python学习笔记(1)——连接符与转义
1/print输出格式虽然知道怎么用却还要打破砂锅的问问题... 问题答案是 需要读很多基础文档教程 --------例如 "+" . "," 作为连接符的作 ...
- Protecting resources in iPhone and iPad apps
源码:https://github.com/lingzhao/EncryptedResourceDemo UPDATE: The example project has been updated to ...
- PHP 优秀资源汇集(照搬)
文章目录 原文地址: https://shockerli.net/post/php-awesome/ GitHub: https://github.com/shockerli/php-awesome ...
- CMU-准备
TOEFL成绩90分以上,GPA大于3.0,GRE1250分以上(不做明确要求) 申请条件:GRE成绩,建议有专科成绩;托福250,雅思7.0;简历;3封推荐信 TOEFL(The Test of E ...
- 【转载】eclipse设置护眼色详细教程
先上一张效果图: 下面开始设置: 首先设置代码区的背景色: Window–>preference-->General-->Editors-->Test Editors ...
- 当点阵字库遇到3D
早在遥远的DOS时代,点阵汉字库为计算机处理汉字起到了关键作用.当时的显示器在图形模式下的分辨率只有640x480甚至320x200,显示汉字直接使用点阵字库在屏幕上打点就可以了.如今的电脑屏幕甚至手 ...
- JavaScript day1(注释)
JavaScript中的注释方式有两种: 单行注释,使用 //. // This is an in-line comment. 多行注释,以/*开始,用*/来结束. /* This is a mult ...
- ionic3视频播放功能
因为项目的需要,需要使用视频播放的功能,使用的是videogular2插件,但是报了一个无法识别video-player 这个标签,百度了很多,发现原来是版本 不对,ionic3是以来angular5 ...
- Tensorflow学习笔记(1):tf.slice()函数使用
tensorflow 当中的一个常用函数:Slice() def slice(input_, begin, size, name=None) 函数的功能是根据begin和size指定获取input的部 ...
- [POJ1155]TELE(树形背包dp)
看到这道题的第一眼我把题目看成了TLE 哦那不是重点 这道题是树形背包dp的经典例题 题目描述(大概的): 给你一棵树,每条边有一个cost,每个叶节点有一个earn 要求在earn的和大于等于cos ...