java刷题--61旋转链表

Posted Anrys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--61旋转链表相关的知识,希望对你有一定的参考价值。

java刷题--61旋转链表

题目

代码

先弄成循环链表再断开

class Solution {
    public ListNode rotateRight(ListNode head, int k) {
        if(head==null || k==0) return head;
        ListNode tail=head;
        int len=1;
        while(tail.next!=null){
            tail=tail.next;
            len++;
        } //算出总长度len
        k=k%len; //求出需要移动的次数
        tail.next=head;  //连接头尾
        for(int i=0;i<len-k;i++){
            head=head.next;
            tail=tail.next;
        }//找到点断开
        tail.next=null;
        return head;
    }
}

结果

以上是关于java刷题--61旋转链表的主要内容,如果未能解决你的问题,请参考以下文章

java刷题--48旋转图像

java刷题--141环形链表

java刷题--206反转链表

java刷题--33搜索旋转排序数组

java刷题--24两两交换链表中的节点

java刷题--141环形链表2