LeetCode:Rotate List
2013-08-31 15:02
330 查看
Given a list, rotate the list to the right by k places, where k is
non-negative.
For example:
Given
return
基本编程题
non-negative.
For example:
Given
1->2->3->4->5->NULLand k =
2,
return
4->5->1->2->3->NULL.
基本编程题
package leetcode; import java.io.IOException; public class RotateList { public static void main(String[] args) throws IOException { ListNode h = new ListNode(1); h.next = new ListNode(2); RotateList l = new RotateList(); ListNode head = l.rotateRight(h, 4); while (head != null) { System.out.println(head.val); head = head.next; } } public ListNode rotateRight(ListNode head, int n) { if (head == null || head.next == null) { return head; } ListNode node = head; int count = 0; ListNode newHead = null; ListNode last = null; while (node != null) { count++; node = node.next; } node = head; n = n % count; if (n == 0) { return head; } int newHeadIndex = count - n + 1; int index = 1; while (node != null) { if (index == newHeadIndex) { newHead = node; } if (node.next == null) { last = node; } ListNode next = node.next; if (index == newHeadIndex - 1) { node.next = null; } node = next; index++; } last.next = head; return newHead; } }
相关文章推荐
- Leetcode-rotate-list
- leetcode Rotate List
- LeetCode题解——Rotate List
- LeetCode Rotate List简单易懂解法
- leetCode 61.Rotate List (旋转链表) 解题思路和方法
- LeetCode刷题笔记(链表):rotate-list
- [LeetCode]61.Rotate List
- LeetCode Rotate List (链表操作)
- 【Leetcode】Rotate List
- [LeetCode] Rotate List
- LeetCode解题报告—— Rotate List & Set Matrix Zeroes & Sort Colors
- 链表系列-把链表向右旋转k个位置LeetCode#61. Rotate List
- leetcode[61]:Rotate List
- 【LeetCode】61. Rotate List解法及分析
- Leetcode题集——rotate-list
- leetcode:Rotate List 【Java】
- leetcode做题总结,题目Rotate List 2012/03/27
- LeetCode--Rotate List
- Leetcode: Rotate List
- 【LeetCode】C# 61、Rotate List