您的位置:首页 > 其它

LintCode:K组翻转链表

2016-07-24 11:31 211 查看
LintCode:K组翻转链表

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
# @param head, a ListNode
# @param k, an integer
# @return a ListNode
def reverseKGroup(self, head, k):
# Write your code here
if head == None:
return head
p1 = head
p2 = head
list_len = 0
while p1 != None:
list_len += 1
p1 = p1.next
if list_len < k:
return head
while p2 != None and list_len >= k:
list_len -= k
L = []
p3 = p2
for i in range(k):
L.append(p2.val)
p2 = p2.next
L = L[::-1]
for i in range(k):
p3.val = L[i]
p3 = p3.next
return head
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: