首页 > 代码库 > LeetCode-Rotate List

LeetCode-Rotate List

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;    }}

 

LeetCode-Rotate List