Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266825
  • 博文数量: 170
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1709
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-06 18:01
文章分类

全部博文(170)

文章存档

2016年(11)

2015年(130)

2014年(29)

分类: Java

2015-03-22 16:17:31

 

Given a list, rotate the list to the right by k places, where k is non-negative.

For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.




public ListNode rotateRight(ListNode head, int k) {
       ListNode dummyHead = new ListNode(Integer.MIN_VALUE);  
        dummyHead.next = head;  
        ListNode node=head;
        ListNode postnode=head;
        
        if(head==null)
               return null;
        int count=1;
        while(postnode.next!=null){
            postnode=postnode.next;
            count++;
        }
        //k值太大
        k=k%count;
        postnode=head;
        for(int i=0;i            postnode=postnode.next;
        }
        
        while(postnode.next!=null){
        postnode=postnode.next;
        node=node.next;
        }
       
         //k值为0
         if(node.next!=null){   
         dummyHead.next=node.next;
         postnode.next=head;
         }
         else
            dummyHead.next=head;
         node.next=null;
        
        return dummyHead.next;
    }
阅读(345) | 评论(0) | 转发(0) |
0

上一篇:Python正则表达式指南

下一篇:BalancedBinary

给主人留下些什么吧!~~