Leetcode61 Rotate List
Posted xuweimdm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode61 Rotate List相关的知识,希望对你有一定的参考价值。
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;
以上是关于Leetcode61 Rotate List的主要内容,如果未能解决你的问题,请参考以下文章