python写算法题:leetcode: 25. Reverse Nodes in k-Group

来源:互联网 发布:大逃杀cmd重置网络 编辑:程序博客网 时间:2024/05/22 16:04

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