LeetCode 206. Reverse Linked List
来源:互联网 发布:书生软件7.3 编辑:程序博客网 时间:2024/06/11 08:40
Reverse a singly linked list.
Hint:
代码二:
A linked list can be reversed either iteratively or recursively. Could you implement both?
分析:单链表翻转问题:迭代和递归两种做法
代码一:递归
/** * 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) { //iteratively if(head == null || head.next == null) return head; ListNode p = head;//定义p,q两个变量分别指向head和head.next ListNode q = head.next; p.next = null;//头结点变为尾结点,其next为null ListNode n;//改变指针指向时临时存储数据的变量 while(q != null){ n = q.next;//先将结点q的next指向的结点用临时变量保存 q.next = p;//将q的next指向其之前的结点 p = q;//p,q分别向后移动一位,继续循环翻转,直到q为null q = n; } return p;//返回翻转之后的头结点 }}
代码二:
/** * 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) { // recursively if(head == null || head.next == null) return head; ListNode p = head; ListNode q = head.next;//定义两个变量分别指向链表的前两位 ListNode res = reverseList(q); p.next = null; q.next = p; return res; }}
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
- 递增数组相同的存入一个数组里面,把最后的结果放到一个大数组里面
- 封装一个UI控件的范例
- 一个小工具完成对memcached/kt/mongodb/redis的性能监测
- Servlet_01_介绍(续)
- 网络---大文件的下载(NSURLSession)
- LeetCode 206. Reverse Linked List
- 收集oracle统计信息
- 【深度学习介绍系列之二】——深度强化学习:卷积神经网络
- hdu acm 2202 最大三角形
- 高手问答,Java多线程编程设计模式篇
- 安卓 文件与缓存
- 在VS2015中用C++创建动态库并用C#调用
- Construct Binary Tree from Preorder and Inorder Traversal
- 统计字符串中字符的种类