LeetCode 61. 旋转链表

解题思路
我之前刷计算机二级c语言有道题目的思路和这道题大致一样。
求[1 2 3 4 5] k=2时的样子。
[5 1 2 3 4] k=1
[4 5 1 2 3] k=2
我们呢可以将[1 2 3 4 5]复制一份,并将两份进行连接,
即为[1 2 3 4 5 1 2 3 4 5]然后直接从中截取一份就行了。

相关代码

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    //周期为链表的长度
    public ListNode rotateRight(ListNode head, int k) {
        ListNode p = head;
        int length=0;
        while(p!=null){
            length++;
            p=p.next;
        }
        if(length==0) return head;
        k=k%length;
        //k是向右移动的次数
        k=length-k;
        ListNode p1 = head;
        ListNode H = new ListNode();
        ListNode t = H;
        while(p1!=null){
            ListNode temp = new ListNode(p1.val);
            t.next = temp;
            t=t.next;
            p1=p1.next;
        }
        ListNode p4 = head;
        while(p4.next!=null){
            p4=p4.next;
       }
        p4.next=H.next;
        ListNode p2 = head;
        for(int i=0;i<k;i++) p2=p2.next;
        head = p2;
        for(int i=0;i<length-1;i++) p2=p2.next;
        p2.next=null;
        return head;
    }
}

相关推荐

  1. [leetcode] 61. 旋转

    2024-04-15 00:20:01       15 阅读
  2. LeetCode 61. 旋转

    2024-04-15 00:20:01       11 阅读
  3. 力扣61. 旋转

    2024-04-15 00:20:01       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-15 00:20:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-15 00:20:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-15 00:20:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-15 00:20:01       18 阅读

热门阅读

  1. Python装饰器

    2024-04-15 00:20:01       13 阅读
  2. Vue EasyUI插件 学习笔记(基础)详细版

    2024-04-15 00:20:01       17 阅读
  3. jQuery学习笔记(2.0)

    2024-04-15 00:20:01       12 阅读
  4. Nginx 基础应用实战 04 在公网配置配置HTTPS

    2024-04-15 00:20:01       15 阅读
  5. 前端npm常用命令总结

    2024-04-15 00:20:01       12 阅读
  6. Go语言开发小技巧&易错点100例(十四)

    2024-04-15 00:20:01       13 阅读
  7. MATLAB 点云直通滤波(57)

    2024-04-15 00:20:01       17 阅读