class Solution {
public ListNode rotateRight(ListNode head, int k) {
if(head == null) return null;
int len = 1;
ListNode tail = head;
while(tail.next != null){
len++;
tail = tail.next;
}//此刻tail已经是尾节点了
// 3 - 4%3 = 2
k = len-k%len;
if(k==0) return head;
//首尾相连
tail.next = head;
//1>=0 0>=0
while(--k>=0){
tail = tail.next;
}
head = tail.next;
tail.next = null;
return head;
}
}
相关文章
- 11-08腾讯五十题 No.33 排序链表
- 11-08腾讯五十题 No.19旋转链表
- 11-08腾讯五十题 No.35 相交链表
- 11-08腾讯五十题 No.14 搜索旋转排序数组
- 11-08腾讯五十题 No.12 合并两个有序链表
- 11-08腾讯五十题 No.37 反转链表