[leetcode]206. Reverse Linked List
来源:互联网 发布:java递归对象中的属性 编辑:程序博客网 时间:2024/05/17 02:14
题目描述:
Reverse a singly linked list.
解题思路:
这个题有两种思路:递归和迭代,迭代相对于递归方式更加直观。
引入:算法中的自顶向下和自底向上
动态规划的实现分为两种,有递归和迭代。
递归一般是自顶向下,依赖于子问题优化函数的结果,只有子问题完全求出,也就是子问题的递归返回结果,原问题才能求解。
迭代法,就是巧妙的安排求解顺序,从最小的子问题开始,自下而上求解。每次求新的问题时,子问题的解已经计算出来了。
迭代法:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode reverseList(ListNode head) { if(head==null || head.next==null) return head; ListNode pre = head; ListNode p = head.next; pre.next = null; ListNode nxt; while(p!=null) { nxt = p.next; p.next = pre; pre = p; p = nxt; } return pre; } }
递归法:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode reverseList(ListNode head) { if(head==null) return null; if(head.next==null) return head; ListNode p = head.next; ListNode n = reverseList(p); head.next = null; p.next = head; return n; } }
0 0
- 【LeetCode】206.reverse linked list
- [leetcode] 206.Reverse Linked List
- [leetcode] 206. Reverse Linked List
- 206. Reverse Linked List LeetCode
- leetCode 206. Reverse Linked List
- LeetCode 206. Reverse Linked List
- LeetCode 206. Reverse Linked List
- [LeetCode]206. Reverse Linked List
- 【LeetCode】206. Reverse Linked List
- LeetCode 206. Reverse Linked List
- leetcode 206. Reverse Linked List
- 【LeetCode】206. Reverse Linked List
- leetcode 206. Reverse Linked List
- LeetCode *** 206. Reverse Linked List
- LeetCode 206. Reverse Linked List
- 【leetcode】206. Reverse Linked List
- [LeetCode]206. Reverse Linked List
- #leetcode#206. Reverse Linked List
- [分享]【2015原创】阿里云新手入门视频教程
- 鼠标点击后,所有div掉下来
- Android Scroller完全解析,关于Scroller你所需知道的一切
- 语音识别工具箱之HTK安装与使用
- java_Timer定时器
- [leetcode]206. Reverse Linked List
- KALDI工具箱运行TIMIT语料库库实例教程
- [Leectode] Game of Life
- NSMutableAttributedString设置图片与文本的垂直位置
- Qt学习2之QSplitter类的理解
- 语音信号MFCC的特征提取Matlab源码
- SpringCloud——Eureka服务注册和发现
- JNI基础知识学习汇总
- iOS应用开发基础(一)基础知识