class : defreverseBetween(self, head, m, n): cur = head i = 0 back = tail = front = pre = None while cur: if m <= i <= n: tmp = cur.next #task 1 if pre isNone: tail = cur #record m cur.next = pre #task 2 pre = cur cur = tmp else: if i == m-1: front = cur #record m-1 elif i == n+1: back = cur cur = cur.next # !!move to the next!! if front: front.next = pre res = head else: res = pre tail.next = back return res
近期评论