61. Rotate List
题目大意
Given the head
of a linked list, rotate the list to the right by k
places.
中文释义
给定一个链表的头节点(head)
,将链表向右旋转 k
个位置。
示例
示例 1:
输入: head
= [1,2,3,4,5], k
= 2
输出: [4,5,1,2,3]
示例 2:
输入: head
= [0,1,2], k
= 4
输出: [2,0,1]
限制条件
- 链表中节点的数量范围是
[0, 500]
。 -100 <= Node.val <= 100
0 <= k <= 2 * 10^9
解题思路
方法
旨在通过旋转操作将链表向右移动 k
个位置。这个过程涉及计算链表长度,然后根据 k
的值调整链表的链接。
-
边界条件处理:
- 如果链表为空或只有一个节点,直接返回原链表。
-
计算链表长度:
- 遍历整个链表,计算出链表的长度
count
。
- 遍历整个链表,计算出链表的长度
-
处理旋转次数