LeetCode Solutions : Rotate List

来源:互联网 发布:百旺金赋税控软件 编辑:程序博客网 时间:2024/05/11 04:49

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; *         next = null; *     } * } */public class Solution {    public ListNode rotateRight(ListNode head, int n) {if(head==null||head.next==null)return head;        ListNode rear=head;int len=1;while(rear.next!=null){rear=rear.next;len++;}rear.next=head;int breakPoint=len-n%len;rear=head;int count=1;while(count<breakPoint){rear=rear.next;count++;}head=rear.next;rear.next=null;return head;    }}


3 0