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; } * } */ public class Solution { public ListNode rotateRight(ListNode head, int k) { if (head == null || k == 0) { return head; } ListNode p = head; int len = 1; while (p.next != null) { len++; p = p.next; } p.next = head; k = k % len; for (int i = 0; i < len - k; i++) { p = p.next; } head = p.next; p.next = null; return head; } }
相关推荐
javascript js_leetcode题解之61-rotate-list.js
- **Rotate List**:将链表顺时针旋转指定次数。 - **Reorder List**:按照特定规则重新排列链表。 - **Partition List**:将链表按值分割成两个部分。 - **Add Two Numbers**:两个非负整数相加,结果存储在...
c语言入门 C语言_leetcode题解之61-rotate-list.c
* [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...
18. **Rotate List**:旋转链表,例如将链表的最后k个节点移动到前面。通过计算链表长度和找到k的相对位置来实现。 19. **Swap Nodes in Pairs**:交换链表中相邻的节点对。可以使用迭代,每次处理一对节点。 20. ...
- **2.2.6 Rotate List** - 旋转链表。 - 实现思路:先找到链表尾部并断开,然后连接到头部前面。 - **2.2.7 Remove Nth Node From End of List** - 删除链表倒数第n个节点。 - 实现思路:使用快慢指针,快...
- **旋转链表(Rotate List)**: 给定一个链表和一个整数k,将链表向右旋转k个位置。 - **重排链表(Reorder List)**: 给定一个单链表L,将其重新排列为A-B-A-B形式。 - **划分链表(Partition List)**: 将链表中所有...
- Rotate List: 给定一个链表的头节点head,当旋转了k个位置后,返回链表的新头节点。 - Unique Paths / Unique Paths II: 前者计算从矩阵的左上角到右下角的路径数量;后者则考虑了障碍物。 - Minimum Path Sum: 在...
RotateList LeetCode 75 Sort Colors LeetCode 125 Valid Palindrome LeetCode 167 Two Sum II - Input array is sorted LeetCode 344 Reverse String LeetCode 345 Reverse Vowels of a String 2 字符串 编号 题目 ...
Rotate List 最大不同 318. Maximum Product of Word Lengths 【这个题目LTE 复杂度已经降下了】 最长不重复字符串3. Longest Substring Without Repeating Characters ----2016.10.08 移动0到末尾 283. Move Zeroes...
ListNode* rotateList(ListNode* head, int k) { if (head == NULL || head->next == NULL || k ) return head; int len = 1; ListNode* tail = head; while (tail->next != NULL) { tail = tail->next; len++...
在Android开发中,"Rotate"通常指的是旋转动画,这是一种视图动画(View Animation)的效果,用于改变界面元素的方向或角度。这种动画效果可以增强用户界面的交互性和动态感,比如在加载进度时,一个旋转的指示器能...
在res/anim目录下创建一个名为rotate_loading.xml的文件,内容如下: ```xml <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> android:drawable="@...
本文聚焦于`layer-list`这一XML元素,它是Android资源文件中用于创建复杂图形和布局的一种方式,特别是在处理不同屏幕密度时非常实用。`layer-list`允许开发者将多个Drawable对象按层次堆叠,从而实现如背景、边框、...
这里的"flist"可能是“file list”的缩写,也可能是一种特定的数据结构。 5. **spl_sqrt_floor.c**: 这个文件可能包含了对浮点数取平方根并向下取整的操作,通常在数学计算或物理模拟中会用到。 6. **spinlock_api...
同时,通过`animation-list`可以创建帧动画,适用于简单的动图效果。 总的来说,通过XML配置实现的Android动画机制为开发者提供了丰富的可能性,让应用的交互变得更加丰富多彩。在`myActionAnimation`这个项目中,...
SVG classList Polyfill IE11和其他旧版浏览器不支持的SVG元素上的classList方法(包含,添加,删除,切换)的Polyfill。... toggle ( 'icon--rotate' ) icon . classList . remove ( 'icon--blue' ) icon . classList