public ListNode rotateRight(ListNode head, int k) {
if(head == null||head.next == null)
return head;
int count = 0;
ListNode l = head;
int length = 0 ;
while(l != null)
{
length++;
l = l.next;
}
k = k % length;
ListNode h = head;
ListNode pre = head;
ListNode cur = pre.next;
while(count < k)
{
while(cur.next != null)
{
cur = cur.next; //找到最后一个元素
pre = pre.next;
}
pre.next = null;
cur.next = h;
h = cur;
pre = h;
cur = pre.next;
count++;
}
return h;
}
LeetCode61.旋转链表
最新推荐文章于 2022-10-16 20:37:07 发布