92. Reverse Linked List II
来源:互联网 发布:七天网络查询分数 编辑:程序博客网 时间:2024/06/05 00:30
方法1:
加入一个指向头节点的节点,简化操作
class Solution {public: ListNode* reverseBetween(ListNode* head, int m, int n) { if(head==NULL||head->next==NULL) return head; ListNode* h=new ListNode(0); h->next=head; ListNode* pre=h; int i; for(i=1;i<m;i++) pre=pre->next; ListNode* pos=pre; pre=pre->next; ListNode* end=pre; ListNode* p=pre->next; ListNode* nx=NULL; while(p&&i<n) { nx=p->next; p->next=pre; pre=p; p=nx; i++; } pos->next=pre; end->next=p; h=h->next; return h; }};
方法2:链表尾插法;
class Solution {public: ListNode* reverseBetween(ListNode* head, int m, int n) { if(head==NULL||head->next==NULL) return head; ListNode* h=new ListNode(-1); h->next=head; int i; ListNode* pre=h; for(i=1;i<m;i++) pre=pre->next; ListNode* tail=pre->next; ListNode* p=NULL; while(i<n) { p=tail->next; tail->next=p->next; p->next=pre->next; pre->next=p; i++; } return h->next; }};
0 0
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 开源项目android-process-button使用和源码分析
- Threejs性能监视和可视化控制
- 树形dp____Magic boy Bi Luo with his excited tree( hdu 5834 2016ccpc网络赛)
- [自製Javascript遊戲引擎][第1節][JavaScript基本介紹與工具安裝]
- JAVA运算符优先级和结合性
- 92. Reverse Linked List II
- hashmap原理
- 倔
- 算法集训(一)水题
- leetcode之 Kth Smallest Element in a Sorted Matrix
- Android开发之http网络请求返回码问题集合。
- [NBUT 1646 Internet of Lights and Switches] 前缀异或和+二分
- Could not determine type for: java.util.String, at table:
- UVALive 7362 Farey (欧拉函数)