List-Reverse List
来源:互联网 发布:java游戏开发工程师 编辑:程序博客网 时间:2024/06/06 01:08
206. Reverse Linked List
Reverse a singly linked list.
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } *///iterativeclass Solution { public ListNode reverseList(ListNode head) { ListNode pre = null; while(head != null){ ListNode temp = head.next; head.next = pre; pre = head; head = temp; } return pre; }}//recursiveclass Solution { public ListNode reverseList(ListNode head) { return helper(head,null); } public ListNode helper(ListNode head,ListNode res){ if(head == null) return res; ListNode next = head.next; head.next = res; return helper(next,head); }}92. Reverse Linked List II
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given 1->2->3->4->5->NULL
, m = 2 and n = 4,
return 1->4->3->2->5->NULL
.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } *///因为头结点不确定,所以使用dummpy Nodeclass Solution { public ListNode reverseBetween(ListNode head, int m, int n) { if(head == null || m > n) return head; ListNode dummpy = new ListNode(0); dummpy.next = head; head = dummpy; //首先找到m的前一个点 for(int i = 1; i < m; i++){ if(head == null) return null; head = head.next; } ListNode premNode = head; ListNode mNode = head.next; ListNode nNode = mNode,postnNode = mNode.next; // reverse指定范围的链表 //走n-m-1步,因为是从m位置开始的 for(int i = m; i < n; i++){ if(postnNode == null) return null; ListNode temp = postnNode.next; postnNode.next = nNode; nNode = postnNode; postnNode = temp; } //首位连接逆转之后的链表 mNode.next = postnNode; premNode.next = nNode;; return dummpy.next; }}
阅读全文
0 0
- reverse list
- list.reverse()
- List-Reverse List
- [leetcode][list] Reverse Linked List
- Single linked list reverse
- reverse a list
- reverse a linked list
- Reverse a linked list.
- Reverse a linked list
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- JavaWeb常用功能-文件下载
- SQL查询结果ToDataTable
- Freemarker中通过request获得contextPath
- Kotlin入门
- Java处理导入excel文件的解决思路和方案
- List-Reverse List
- 手机升级版本到ios11导致无法调试
- Mybatis通用Mapper的使用
- 二项式定理 & 杨辉三角
- 个人移动智能辅助设备的某些猜想..
- Linux搭建
- 【BigHereo 40】---L13---C++语言大总结
- Flowable节点跳转
- mysql 导入的时候报时间导入的错误