def reverseBetween(self, head, m, n): """ :param head: ListNode :param m: int :param n: int :return: ListNode """ dummyhead = Node() dummyhead.next = head cur = head index = 1 pre = dummyhead while index <= n: if index >= m: """todo""" if index == m: m_node = cur m_pre = pre if index == n: n_node = cur n_next = cur.next next = cur.next cur.next = pre pre = cur cur = next index += 1 else: pre = cur cur = cur.next index += 1 m_pre.next = n_node m_node.next = n_next return dummyhead
def reverseList(self, head): """ :param head: ListNode :return: ListNode """ dummyhead = Node() dummyhead.next = head cur = dummyhead.next pre = None while cur != None: next = cur.next cur.next = pre pre = cur cur = next dummyhead.next = pre return dummyhead