python写算法题:leetcode: 25. Reverse Nodes in k-Group
2017-06-29 21:29
423 查看
https://leetcode.com/problems/reverse-nodes-in-k-group/#/description
class Solution(object):
def reverseNode(self, nodes, k):
for ind in xrange(k):
node = nodes
for v in xrange(k-ind-1):
if not node: return None,None
node = node.next
if not node: return None,None
if ind != 0:
baknode.next = node
else:
headnode = node
nheadnode = node.next
baknode = node
node.next=nheadnode
return headnode,nheadnode
def reverseKGroup(self, head, k):
"""
:type head: ListNode
:type k: int
:rtype: ListNode
"""
if k <= 1:
return head
# a ... bc .... de....
# b ... ad .... cf....
bnode,cnode = self.reverseNode(head, k)
if not bnode:
return head
newhead = bnode
anode = head
while bnode.next:
dnode,cnode1 = self.reverseNode(cnode, k)
if not dnode:
break
anode.next = dnode
anode = cnode
cnode = cnode1
bnode = dnode
return newhead
class Solution(object):
def reverseNode(self, nodes, k):
for ind in xrange(k):
node = nodes
for v in xrange(k-ind-1):
if not node: return None,None
node = node.next
if not node: return None,None
if ind != 0:
baknode.next = node
else:
headnode = node
nheadnode = node.next
baknode = node
node.next=nheadnode
return headnode,nheadnode
def reverseKGroup(self, head, k):
"""
:type head: ListNode
:type k: int
:rtype: ListNode
"""
if k <= 1:
return head
# a ... bc .... de....
# b ... ad .... cf....
bnode,cnode = self.reverseNode(head, k)
if not bnode:
return head
newhead = bnode
anode = head
while bnode.next:
dnode,cnode1 = self.reverseNode(cnode, k)
if not dnode:
break
anode.next = dnode
anode = cnode
cnode = cnode1
bnode = dnode
return newhead
相关文章推荐
- python写算法题:leetcode: 26. Remove Duplicates from Sorted Array
- python写算法题:leetcode: 6. ZigZag Conversion
- leetcode:Reverse Nodes in k-Group(以k为循环节反转链表)【面试算法题】
- python写算法题:leetcode: 9. Palindrome Number
- python写算法题:leetcode: 1. Two Sum
- python写算法题:leetcode: 24. Swap Nodes in Pairs
- python写算法题:leetcode: 29. Divide Two Integers
- 【python】【leetcode】【算法题目7—Reverse Integer】
- python写算法题:leetcode: 7. Reverse Integer
- leetcode Reverse Nodes in k-Group python
- [python]leetcode(49). Group Anagrams
- 【Leetcode】【python】Reverse Nodes in k-Group
- [LeetCode]题解(python):025-Reverse Nodes in k-Group
- 【python】【leetcode】【算法题目412—Fizz Buzz】
- 【python】【leetcode】【算法题目283—Palindrome Number】
- 【python】【leetcode】【算法题目387—First Unique Character in a String】
- 【算法——Python实现】快速排序的优化:三路快速排序及Leetcode题目应用
- 【python】【leetcode】【算法题目2—Add Two Numbers】
- python写算法题:leetcode: 8. String to Integer (atoi)
- 【python】【leetcode】【算法题目64—Minimum Path Sum】