题解 | #链表内指定区间反转#
链表内指定区间反转
https://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c
import java.util.*; public class Solution { public static ListNode reverseBetween(ListNode head, int m, int n) { ListNode node=new ListNode(-1); node.next=head; ListNode pre=node; for(int i=1;i<m;i++){ pre=pre.next; } ListNode right=pre.next; ListNode left=pre.next; for(int i=m;i<n;i++){ right=right.next; } ListNode last=right.next; pre.next=null; right.next=null; ListNode list=null; ListNode cur_left=left; while(cur_left!=null){ ListNode cur_list=cur_left.next; cur_left.next=list; list=cur_left; cur_left=cur_list; } pre.next=right; left.next=last; return node.next; } }