【LintCode】 Reverse Linked List 翻转链表
来源:互联网 发布:知乎马前卒是谁 编辑:程序博客网 时间:2024/05/16 09:32
翻转一个链表
样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
挑战
在原地一次翻转完成
思路:
1、建一个新的头指针,将旧链表从头向尾拆卸,拆下来的节点插入新链表的头部。
2、(这个应该是原地)
1->2->3->4->null
2->1->3->4->null
3->2->1->4->null
4->3->2->1->null
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ public class Solution { /** * @param head: The head of linked list. * @return: The new head of reversed linked list. */ public ListNode reverse(ListNode head) { if(null == head || null == head.next) return head; ListNode p = head, q = head;//q指向逆序部分头节点,p指向逆序部分尾节点,p.next为顺序部分头结点 while(p.next != null) { head = p.next; p.next = head.next; head.next = q; q = head; } return head; }}
0 0
- 【LintCode】 Reverse Linked List 翻转链表
- LintCode | Easy | 翻转链表 | Reverse Linked List
- [Lintcode]Reverse Linked List II 翻转链表 II
- [Java]Reverse Linked List 链表翻转
- Reverse Linked List 翻转链表
- LeetCode_206. Reverse Linked List-翻转链表
- Reverse Linked List 翻转链表
- 206. Reverse Linked List--链表翻转
- [Lintcode]Reverse Linked List
- lintcode: Reverse Linked List
- Reverse Linked List II 局部翻转链表@LeetCode
- Reverse Linked List II 翻转链表II
- LeetCode | Reverse Linked List II(翻转链表2)
- [Java]Reverse Linked List II 链表翻转2
- [LeetCode] Reverse Linked List I II - 链表翻转问题
- LeetCode 206. Reverse Linked List(翻转链表)
- LeetCode 92. Reverse Linked List II(翻转链表)
- 35.Reverse Linked List-翻转链表(容易题)
- oracle 11G自动内存管理
- Spark经典视频之《王家林老师DT大数据梦工场》
- 【转】理解矩阵(三)
- 寻找固定的和(C百例)
- 在学习iOS的MRC管理中,遇到的retain引起的循环问题、NSString问题
- 【LintCode】 Reverse Linked List 翻转链表
- Android 平台camera相关梳理
- 编码规范之eclipse设置
- C++语言编程基础1
- 选择排序
- 《DirectX 9.0 3D 游戏开发编程基础》学习笔记#2 D3D初始化
- Union 和 Union All的区别
- POJ - 3254 Corn Fields 状态压缩
- 正则表达式基本概念