/**

  • struct ListNode {

  • int val;

  • struct ListNode *next;

  • };

  • C语言声明定义全局变量请加上static,防止重复定义 / /*

  • 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

  • @param head ListNode类

  • @param m int整型

  • @param n int整型

  • @return ListNode类 / struct ListNode reverseBetween(struct ListNode* head, int m, int n ) { // write code her if(m == n) return head; struct ListNode *p1,*p2;

    while(n>m) { p2 = p1 = head; int val; for(int i = 1;i<=m-1;i++) p1 = p1->next; for(int i = 1;i<=n-1;i++) p2 = p2->next; val = p1->val; p1->val = p2->val; p2->val = val; n--; m++; } return head; }