先得到反转区间的开始结点pcur,得到结点pcur的前置结点pre(因为pcur结点可能为头结点,所以我们将pre结点初始化为指向头结点的结点 pre->next = head)。得到上述两个结点后,可以将问题转换为:将反转区间的结点一个个放入结点pre和结点pcur之间,注意结点pre和pcur是不变的,我们要做的只是将结点pcur->next放入pre和pcur之间。时间复杂度:o(n)空间复杂度:o(1) class Solution { public: ListNode* reverseBetween(ListNode* head, int m, int n) ...