【LeetCode with Python】 Reverse Linked List II
来源:互联网 发布:python http接口开发 编辑:程序博客网 时间:2024/04/27 21:30
博客域名:http://www.xnerv.wang
原题页面:https://oj.leetcode.com/problems/reverse-linked-list-ii/
题目类型:
难度评价:★
本文地址:http://blog.csdn.net/nerv3x3/article/details/4223089
原题页面:https://oj.leetcode.com/problems/reverse-linked-list-ii/
题目类型:
难度评价:★
本文地址:http://blog.csdn.net/nerv3x3/article/details/4223089
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.
反转链表中的一部分。貌似写出来的代码有点长,也许可以优化。
class Solution: # @param head, a ListNode # @param m, an integer # @param n, an integer # @return a ListNode def reverseBetween(self, head, m, n): if m == n: return head m_is_head = True if 1 == m else False if False == m_is_head: m_pre_node = head for i in range(0, m - 1 - 1): m_pre_node = m_pre_node.next m_node = m_pre_node.next else: m_node = head n_node = m_node for i in range(0, n - m): n_node = n_node.next n_next_node = n_node.next if False == m_is_head: m_pre_node.next = n_node p1_node = m_node p2_node = p1_node.next p3_node = p2_node.next while n_node != p1_node: p2_node.next = p1_node p1_node = p2_node p2_node = p3_node if None == p2_node: break p3_node = p3_node.next m_node.next = n_next_node return n_node if m_is_head else head
- 【LeetCode with Python】 Reverse Linked List II
- [Leetcode][python]Reverse Linked List/Reverse Linked List II
- LeetCode[Linked List]: Reverse Linked List II
- LeetCode: Reverse Linked List II
- LeetCode: Reverse Linked List II
- [LeetCode] Reverse Linked List II
- [Leetcode] Reverse Linked List II
- [LeetCode]Reverse Linked List II
- Leetcode: Reverse Linked List II
- [Leetcode]Reverse Linked List II
- [leetcode]Reverse Linked List II
- LeetCode-Reverse Linked List II
- LeetCode Reverse Linked List II
- [leetcode] Reverse Linked List II
- LeetCode - Reverse Linked List II
- [LeetCode] Reverse Linked List II
- LeetCode | Reverse Linked List II
- 【leetcode】Reverse Linked List II
- ubuntu下一些有用的命令(转)
- 《精通Unix下C语言编程与项目实践》读书笔记(2)
- 《精通Unix下C语言与项目实践》读书笔记(3)
- Microsoft Detours 2.1简介
- 懂了遗憾,就懂了人生
- 【LeetCode with Python】 Reverse Linked List II
- 《Windows高级调试》介绍
- 空气中的战争——采访无线安全专家杨哲
- 作为大学生 必读的一篇文章 希望大家用心体会,我读完发现我正在朝人渣发展
- Linux系统下如何查看及修改文件读写权限
- RadioButtonList控件
- struts2中form提交到action中的中文参数乱码问题解决办法(包括取中文路径)
- VS2008快捷键大全
- 2.1 Hibernate的HelloWorld