问题不要看的太复杂,首先要看到ListNode这个类,没有构造方法,那么取出节点放到集合,反转集合再拼接节点的思路就行不通了 既然这样那么不如直接将链表需要反转的节点的值取出放到stack 里面,然后依次弹出,改变原链表节点的值,即可。 public ListNode reverseBetween (ListNode head, int m, int n) { //m = n 不需要改动 if(m == n){ return head; } ListNode old = head; ...