Reverse Linked List II
来源:互联网 发布:贵阳广电网络缴费活动 编辑:程序博客网 时间:2024/05/17 04:31
Reverse a linked list from position m to n.
Notice
Given m, n satisfy the following condition: 1 ≤ m ≤ n ≤ length of list.
Example
Given 1->2->3->4->5->NULL
, m = 2
and n = 4
, return 1->4->3->2->5->NULL
.
java
/** * Definition for ListNode * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { /* * @param head: ListNode head is the head of the linked list * @param m: An integer * @param n: An integer * @return: The head of the reversed ListNode */ public ListNode reverseBetween(ListNode head, int m, int n) { // write your code here if (head == null || m > n) { return null; } ListNode dummy = new ListNode(0); dummy.next = head; head = dummy; for (int i = 1; i < m; i++) { head = head.next; if (head == null) { return null; } } ListNode preNode = head; ListNode mNode = head.next;"""Definition of ListNodeclass ListNode(object): def __init__(self, val, next=None): self.val = val self.next = next"""class Solution: """ @param: head: ListNode head is the head of the linked list @param: m: An integer @param: n: An integer @return: The head of the reversed ListNode """ def reverseBetween(self, head, m, n): # write your code here if head is None or m > n: return None dummy = ListNode(-1, head) head = dummy for i in range(1, m): head = head.next if head is None: return None preNode, mNode = head, head.next nNode, postNode = mNode, mNode.next for i in range(m, n): if postNode is None: return None temp = postNode.next postNode.next = nNode nNode = postNode postNode = temp preNode.next = nNode mNode.next = postNode return dummy.next
ListNode nNode = mNode; ListNode postNode = mNode.next; for (int i = m; i < n; i++) { if (postNode == null) { return null; } ListNode temp = postNode.next; postNode.next = nNode; nNode = postNode; postNode = temp; } preNode.next = nNode; mNode.next = postNode; return dummy.next; }}
python
阅读全文
0 0
- 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
- 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
- 藏书于海(共享图书)--适度
- hdu2017沈阳网络赛补题(一)mustedge mustedge(数剖求lca+树状数组)
- Mybatis中javaType和jdbcType对应关系
- LinuxStudyNote(29)-Linux常用命令(6)-压缩解压命令汇总gzip、gunzip、tar、zip、unzip、bzip2、bunzip2
- 学生信息的输出
- Reverse Linked List II
- 设计模式——抽象工厂模式
- 寻址方式
- 通过js优化web性能
- 混合背包
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- [APIO2014]序列分割
- 阿里巴巴Java开发手册一周年最终版
- 破解CentOS7 口令的两种方法