Leetcode61 Rotate List

来源:互联网 发布:js执行href跳转action 编辑:程序博客网 时间:2024/06/13 01:36

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.

Solution

  • 利用两个指针定位到需要翻转的地方。
public class Solution {    public ListNode rotateRight(ListNode head, int k) {        if(head==null) return head;        ListNode dummy = new ListNode(-1);        dummy.next = head;        ListNode fast = head;        ListNode slow = head;        int count;        for(count=0;fast!=null;fast=fast.next) count++;        k %= count;        if(k==0) return head;        for(fast=head;k-->0;fast = fast.next);        for(;fast.next!=null;fast=fast.next,slow=slow.next);        fast.next = dummy.next;        dummy.next = slow.next;        slow.next = null;        return dummy.next;            }}
0 0
原创粉丝点击