Rotate List

来源:互联网 发布:网络被骗2000报警么 编辑:程序博客网 时间:2024/06/14 07:37

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.

Java代码:

/** * 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 k) {        if(null == head)return null;ListNode tail = head;int length = 1;while(tail.next != null){length++;tail = tail.next;}for(int i =0;i<k%length;i++){tail.next =head;head = tail;int count =1;while(count < length){count++;tail = tail.next;}tail.next =null;}return head;    }}

 

0 0