[Leetcode 25] Reverse Nodes in k Group
2017-05-08 19:53
477 查看
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def reverseKGroup(self, head, k):
"""
:type head: ListNode
:type k: int
:rtype: ListNode
"""
if k==1 :
return head
m=self.getSize(head)
dummy=cur=prev=ListNode(0)
dummy.next=head
n=m/k
print k,m
for i in range(n):
for j in range(k):
tmp=head.next
head.next=prev
prev=head
head=tmp
oldhead=cur.next
cur.next=prev
prev=oldhead
prev.next=head
cur=prev
return dummy.next
def getSize(self,head):
n=0
while head:
n += 1
head = head.next
return n
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def reverseKGroup(self, head, k):
"""
:type head: ListNode
:type k: int
:rtype: ListNode
"""
if k==1 :
return head
m=self.getSize(head)
dummy=cur=prev=ListNode(0)
dummy.next=head
n=m/k
print k,m
for i in range(n):
for j in range(k):
tmp=head.next
head.next=prev
prev=head
head=tmp
oldhead=cur.next
cur.next=prev
prev=oldhead
prev.next=head
cur=prev
return dummy.next
def getSize(self,head):
n=0
while head:
n += 1
head = head.next
return n
相关文章推荐
- [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(C)
- 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
- Java [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 K个一组反转节点
- [Leetcode 25] Reverse Nodes in k-Group
- [leetcode 25] Reverse Nodes in k-Group
- LeetCode_25---Reverse Nodes in k-Group