LintCode:翻转链表 II
2016-04-24 23:51
405 查看
LintCode:翻转链表 II这里写链接内容
""" Definition of ListNode class ListNode(object): def __init__(self, val, next=None): self.val = val self.next = next """ class Solution: """ @param head: The head of linked list @param m: start position @param n: end position """ def reverseBetween(self, head, m, n): if m == 1: p1 = head j = 1 while j < n: j += 1 p1 = p1.next while(head != p1): tmp = ListNode(0) tmp.next = head.next head.next = p1.next p1.next = head head = tmp.next return head k = 1 l = 1 p1 = head p2 = head p3 = head while k < m-1: k += 1 p1 = p1.next p2 = p1.next while l < n: l += 1 p3 = p3.next p1.next = p3 while(p2 != p3): tmp = ListNode(0) tmp.next = p2.next p2.next = p3.next p3.next = p2 p2 = tmp.next return head
相关文章推荐
- [C/C++]反转链表
- C#实现基于链表的内存记事本实例
- C#模拟链表数据结构的实例解析
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++利用静态成员或类模板构建链表的方法讲解
- C++实现简单的学生管理系统
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- C#实现的简单链表类实例
- 找出链表倒数第n个节点元素的二个方法
- Java数据结构之简单链表的定义与实现方法示例
- Java模拟有序链表数据结构的示例
- C语言单循环链表的表示与实现实例详解
- C++实现的链表类实例
- PHP小教程之实现链表
- PHP中模拟链表和链表的基本操作示例
- C语言双向链表的表示与实现实例详解
- js链表操作(实例讲解)
- C语言实现输出链表中倒数第k个节点