当前位置: 首页 > article >正文

【Leecode】Leecode刷题之路第61天之旋转链表

题目出处

61-旋转链表-题目出处

题目描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

个人解法

思路:

todo

代码示例:(Java)

todo

复杂度分析

todo

官方解法

61-旋转链表-官方解法

方法1:闭合为环

思路:

在这里插入图片描述

代码示例:(Java)

@Data
class ListNode {
    int val;
    ListNode next;

    ListNode() {
    }

    ListNode(int val) {
        this.val = val;
    }

    ListNode(int val, ListNode next) {
        this.val = val;
        this.next = next;
    }
}

public class Solution1 {
    public ListNode rotateRight(ListNode head, int k) {
        if (k == 0 || head == null || head.next == null) {
            return head;
        }
        int n = 1;
        ListNode iter = head;
        while (iter.next != null) {
            iter = iter.next;
            n++;
        }
        int add = n - k % n;
        if (add == n) {
            return head;
        }
        iter.next = head;
        while (add-- > 0) {
            iter = iter.next;
        }
        ListNode ret = iter.next;
        iter.next = null;
        return ret;
    }


}

复杂度分析

  • 时间复杂度:O(n),最坏情况下,我们需要遍历该链表两次。
  • 空间复杂度:O(1),我们只需要常数的空间存储若干变量。

考察知识点

收获

Gitee源码位置

61-旋转链表-源码


http://www.kler.cn/a/415969.html

相关文章:

  • 重塑视频新语言,让每一帧都焕发新生——Video-Retalking,开启数字人沉浸式交流新纪元!
  • 揭示Lyapunov方法的奥秘:控制理论中的稳定性之钥
  • Cookie跨域
  • 【Electron学习笔记(四)】进程通信(IPC)
  • 数组和链表OJ题
  • 使用docker搭建hysteria2服务端
  • 基于nxp LS1046+fpga的嵌入式系统中虚拟化设备的设计与实现
  • [python脚本处理文件入门]-17.Python如何操作Excel文件的读写
  • Lyapunov方法发展简史
  • WPS 文本——在修订模式中、并且保留所有批注的情况下,如何显示全部文本的最终状态
  • D2761 适合在个人电脑、便携式音响等系统中作音频限幅用。
  • Java开发网络安全常见问题
  • (C语言) 8大翻译阶段
  • 宠物空气净化器推荐2024超详细测评 希喂VS霍尼韦尔谁能胜出
  • vue3-新增API组件
  • mac上的建议xftp 工具
  • oracle将select作为字段查询
  • Leetcode 每日一题 104.二叉树的最大深度
  • 论文阅读 - Labeled Datasets for Research on Information Operations
  • hue 4.11容器化部署,已结合Hive与Hadoop
  • 单点登录原理
  • Spring Web开发注解和请求(1)
  • 基于投影寻踪博弈论-云模型的滑坡风险评价
  • uniapp使用扩展组件uni-data-select出现的问题汇总
  • 《多模态大型语言模型(MM-LLMs)的最新进展》解读
  • springboot/ssm大学校园生活信息平台Java校园活动论坛交流问卷系统web源码