您的位置:首页 > Web前端 > Node.js

[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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: