码迷,mamicode.com
首页 > 其他好文 > 详细

【LeetCode】Reverse Linked List II

时间:2014-05-11 16:03:43      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   ext   

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->NULLm = 2 and n = 4,

return 1->4->3->2->5->NULL.

Note:
Given mn satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.

bubuko.com,布布扣
public class Solution {
    public ListNode reverseBetween(ListNode head, int m, int n) {
        if(m==n||m>n)
            return head;
        int len = n-m;
        ListNode root = head;
        m--;
        while(m!=0&&root!=null){
            root = root.next;
            m--;
        }
        ListNode cur = root;
        while(len!=0&&len>0){
            ListNode temp = cur;
            int i=len;
            while(i!=0){
                temp=temp.next;
                i--;
            }
                
            int tempv = cur.val;
            cur.val=temp.val;
            temp.val=tempv;
            len-=2;
            cur=cur.next;
        }
        
        return head;
        
    }
}
bubuko.com,布布扣

 

【LeetCode】Reverse Linked List II,布布扣,bubuko.com

【LeetCode】Reverse Linked List II

标签:style   blog   class   code   java   ext   

原文地址:http://www.cnblogs.com/yixianyixian/p/3721805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!