反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。
说明:
1 ≤ m ≤ n ≤ 链表长度。
示例:
输入: 1->2->3->4->5->NULL, m = 2, n = 4
输出: 1->4->3->2->5->NULL
struct ListNode *temp,*h1;
int i;
const int x=n-m+1;
int sum[x];
temp=head;
for(i=1;i<m;i++,temp=temp->next);
h1=temp;
for(i=0;i<x;i++){
sum[i]=h1->val;
h1=h1->next;
}
for(i=x-1;i>=0;i--){
temp->val=sum[i];
temp=temp->next;
}
return head;