#coding:utf-8
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param head ListNode类
# @param m int整型
# @param n int整型
# @return ListNode类
#
class Solution:
def reverseBetween(self , head , m , n ):
# write code here
dummy = ListNode(x=-1)
print ("dummy val: ", dummy.val)
#return
dummy.next = head
print ("dummy next val: ", dummy.next.val)
#return
prev = dummy
pos = head
for i in range(0, m - 1):
prev = pos
pos = pos.next
t = pos
p = pos.next
for i in range(0, n - m):
tmp = p.next
p.next = t
t = p
p = tmp
prev.next = t
pos.next = p
return dummy.next