25. Reverse Nodes in k-Group leetcode Python 2016 new season
来源:互联网 发布:jquery.easing.js教程 编辑:程序博客网 时间:2024/06/08 10:13
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.
If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is.
You may not alter the values in the nodes, only nodes itself may be changed.
Only constant memory is allowed.
For example,
Given this linked list: 1->2->3->4->5
For k = 2, you should return: 2->1->4->3->5
For k = 3, you should return: 3->2->1->4->5
need a helper function to reverse k nodes and then put the reversed list together. this should be O(n) time.
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def reverseNodes(self, startNode, endNode): dummyNode = ListNode(None) dummyNode.next = startNode while dummyNode.next != endNode: tmpNode = startNode.next startNode.next = tmpNode.next tmpNode.next = dummyNode.next dummyNode.next = tmpNode return endNode, startNode def reverseKGroup(self, head, k): """ :type head: ListNode :type k: int :rtype: ListNode """ if not head: return head dummyNode = ListNode(None) dummyNode.next = head startNode = head while startNode.next: endNode = startNode for count in range(k - 1): endNode = endNode.next if not endNode.next: return dummyNode newstart, newend = self.reverseNodes(startNode, endNode) startNode.next = newstart startNode = newend return dummyNode.next
0 0
- 25. Reverse Nodes in k-Group leetcode Python 2016 new season
- 【Leetcode】【python】Reverse Nodes in k-Group
- [LeetCode]25.Reverse Nodes in k-Group
- LeetCode --- 25. Reverse Nodes in k-Group
- LeetCode 25.Reverse Nodes in k-Group
- [Leetcode] 25. Reverse Nodes in k-Group
- 【LeetCode】25.Reverse Nodes in k-Group
- [leetcode] 25.Reverse Nodes in k-Group
- Leetcode-25.Reverse Nodes in k-Group
- leetcode 25. Reverse Nodes in k-Group
- leetcode 25. Reverse Nodes in k-Group
- leetcode 25. Reverse Nodes in k-Group
- leetcode 25. Reverse Nodes in k-Group
- leetCode 25. Reverse Nodes in k-Group
- Leetcode 25. Reverse Nodes in k-Group
- leetcode:25. Reverse Nodes in k-Group
- LeetCode 25. Reverse Nodes in k-Group
- 【leetcode】25. Reverse Nodes in k-Group
- [LeetCode] Word Break, Solution
- [LeetCode] WordBreak II, Solution
- [LeetCode] Linked List Cycle, Solution
- Struts2的工作原理
- 黑客们成功地在土豆上安装了 Linux!
- 25. Reverse Nodes in k-Group leetcode Python 2016 new season
- 缓冲I/O与非缓冲I/O(fopen与open系列函数区别)
- 内联汇编
- Java程序员容易犯的常见十大错误
- rop 文件上传
- [LeetCode] Linked List Cycle II, Solution
- [LeetCode] Reorder List, Solution
- [LeetCode] Binary Tree Preorder Traversal, Solution
- [LeetCode] LRU Cache, Solution