JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 public class Solution {
 2     public ListNode reverseBetween(ListNode head, int m, int n) {
 3         // IMPORTANT: Please reset any member data you declared, as
 4         // the same Solution instance will be reused for each test case.
 5         ListNode newhead = new ListNode(0);
 6         
 7         newhead.next = head;
 8         
 9         ListNode runner = newhead;
10         for(int i = 0; i < m-1; i++)
11         {
12             runner = runner.next;
13         }
14         ListNode premindex = runner;
15         ListNode mindex = runner.next;
16         
17         ListNode pre = mindex;
18         runner = mindex.next;
19         
20         for(int i = 0; i < n - m; i++)
21         {
22             ListNode tmp = runner.next;
23             runner.next = pre;
24             pre = runner;
25             runner = tmp;
26         }
27         premindex.next = pre;
28         mindex.next = runner;
29         return newhead.next;
30     }
31 }

 

posted on 2013-11-12 13:18  JasonChang  阅读(149)  评论(0编辑  收藏  举报