标签:
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.
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode rotateRight(ListNode head, int k) { if(head==null || head.next==null || k==0){ return head; } ListNode p=head; int len=1; while(p.next!=null){ len++; p=p.next; } p.next=head; int l=k%len; for(int i=0; i<len-l; i++){ p=p.next; } head=p.next; p.next=null; return head; } }
标签:
原文地址:http://www.cnblogs.com/incrediblechangshuo/p/5898566.html