局部交换

链表内指定区间反转

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; }

全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
03-13 10:56
点赞 评论 收藏
转发
6 收藏 评论
分享
牛客网
牛客企业服务