leetcode-反转链表II(python)
2019-03-21 18:49
399 查看
题目:
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。
说明:
1 ≤ m ≤ n ≤ 链表长度。
示例:
输入: 1->2->3->4->5->NULL, m = 2, n = 4
输出: 1->4->3->2->5->NULL
代码:
class Solution: def reverseBetween(self, head, m, n): changelen=n-m+1 #计算需要逆置的节点个数 result=head #记录头节点 prehead=None #记录开始逆转点的前一个节点 while m-1: #找到逆转点位置 prehead=head #逆转点的前一个 head=head.next #逆转点 m-=1 tail=head #逆序后要指向链表尾部 newhead=None #逆转过程 while changelen: nex=head.next head.next=newhead newhead=head head=nex changelen-=1 if prehead: #如果不为空,说明不是从第一个点开始逆转 prehead.next=newhead else:result=newhead #从第一个点开始逆转的情况 tail.next=head return result
相关文章推荐
- leetcode206/92---Reverse Linked List I/II(反转链表)
- 编程集训第2天:LeetCode--环形链表2(142)及单链表反转(206)C++和python代码实现
- leetcode-环形链表II(python)
- leetcode 92. Reverse Linked List II 反转链表 + 头插入反转链表(或者使用栈)
- (Leetcode)92. Reverse Linked List II ——反转单链表
- 【LeetCode-面试算法经典-Java实现】【092-Reverse Linked List II(反转单链表II)】
- 链表leetcode(142)Linked List Cycle II和(206)Reverse Linked List (python)
- LeetCode 82. 删除排序链表中的重复元素 II Python
- LeetCode--Reverse Linked List 反转链表(Python)
- LeetCode-Reverse Linked List II(反转链表)
- 利用python 完成 leetcode142 环形链表 II
- Leetcode Reverse Linked List II 反转部分单向链表
- LeetCode-92-Reverse Linked List II 链表反转 各种边界条件
- LeetCode 541. 反转字符串 II Python
- LeetCode2.2.2 @ Reverse Linked List II 反转链表II D3F2
- [Leetcode] Reverse linked list ii 反转链表
- LeetCode-5(反转链表I、II)
- C实现 LeetCode->Reverse Linked List II (双指针大法)(单链表反转)
- 【LeetCode】Python实现-541. 反转字符串 II
- [leetcode] Reverse Linked List II 链表反转