Reverse Linked List II
来源:互联网 发布:阿儿法营创意编程网址 编辑:程序博客网 时间:2024/06/03 11:02
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given 1->2->3->4->5->NULL, m = 2 and n = 4,
return 1->4->3->2->5->NULL.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
注意记下m-1, m, n, n+1 这四个点。中间反转的时候记录prev,cur,next这三个指针。
ListNode *reverseBetween(ListNode *head, int m, int n){ ListNode *before_m= NULL; ListNode *cur = head; for (int i = 1; i < m; i++) { before_m = cur; cur = cur->next; } ListNode *m_node = cur; ListNode *prev = cur, *next= NULL; for (int i = m; i <= n; i++) { next = cur->next; cur->next = prev; prev = cur; cur = next; } if(before_m != NULL) before_m->next = prev; else head = prev; m_node -> next = next; return head;}
0 0
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- OpenGL 3:画圆
- Android 吸入动画效果详解
- 拓扑排序
- 内建函数-eval & exec
- 图像相似度计算方法
- Reverse Linked List II
- php curl详解用法[真的详解]
- 【足迹C++ primer】11、返回类型和return语句(1)
- SQLServer2014新特性
- GCC编译器使用
- Android手势识别 Camera 预览界面上显示文字 布局注意事项(merge布局)
- delphi的goto语句
- RTEMS介绍
- Android程序设置软件图标