局部交换
链表内指定区间反转
http://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c
/**
-
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; }