[Leetcode 61][Medium]-旋转链表

 目录

一、题目描述

二、整体思路

三、代码


一、题目描述

 

原题链接

二、整体思路

        首先发现这样的规律:当k大于等于链表中节点总数n时,会发现此时旋转后的链表和k=k%n时的旋转后的链表一样。同时对于特殊情况n=0和n=1时,无论k的值为多少都可以直接返回head。

        因为k的所有取值情况都可以通过规律化归解决,同时旋转后的链表元素依然为原来链表中的元素且后续节点顺序与原链表相同。因此我们可以在链表尾部再接上一个和原来链表一模一样的链表,找到旋转k次之后的头结点,再从此截取原链表长度的结点作为返回值。

        n-k的由来:旋转k次,代表从链表尾部往前数第k个结点为新的头结点,那么从链表头往后数就是第n-k个结点。

三、代码
 

/**
 * 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) {
        if(head==null || head.next==null) return head;
        int n=1;
        ListNode nxt=head;
        ListNode last=head;
        while(last.next!=null){
            last=last.next;
            n++;
        }
        if(k%n==0) return head;
        last.next=nxt;
        for(int i=0;i<n-(k%n);i++){
            head=head.next;
        }
        ListNode ret=head;
        for(int j=1;j<n;j++){
            ret=ret.next;
        }
        ret.next=null;
        return head;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/871408.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

认识Mongodb及其Java的连接

什么是Mongodb&#xff1f; MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系数据库的。 优点 1.MongoDB的提供了一个面向文档存储&#xff0c;操作起来比较简单和容易。 2.如果负载的增加&#x…

Python中matplotlib使用4

在matplotlib中&#xff0c;可以通过绘制“饼图”来展示各类别在总体中所占的比例。 1 绘制基本“饼图” 通过matplotlib中的pie()函数绘制饼图&#xff0c;代码如图1所示。 图1 绘制基本“饼图”的代码 从图1中可以看出&#xff0c;pie()函数的参数y即为要绘制的数据&#…

使用SSMS连接和查询 SQL Server 实例

简介 SQL Server Management Studio 是用于管理SQL Server基础架构的集成环境。Management Studio提供用于配置、监视和管理SQL Server实例的工具。 此外&#xff0c;它还提供了用于部署、监视和升级数据层组件(如应用程序使用的数据库和数据仓库)的工具以生成查询和脚本。 官方…

现代RTK测量设备的高速发展及其应用前景

RTK&#xff08;实时动态定位&#xff0c;Real-Time Kinematic&#xff09;测量设备是利用GNSS&#xff08;全球导航卫星系统&#xff0c;Global Navigation Satellite System&#xff09;技术&#xff0c;通过引用基准站与移动站的数据传输机制&#xff0c;实现高精度的位置信…

基于spring boot的小型诊疗预约平台的设计与开发

TOC springboot262基于spring boot的小型诊疗预约平台的设计与开发 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进…

打靶记录12——Fawkes

靶机&#xff1a; https://download.vulnhub.com/harrypotter/Fawkes.ova这是个哈利波特系列的靶机&#xff0c;作者和本人都非常喜欢这个系列&#xff0c;因为它的漏洞和利用点都设计得很巧妙。 难度&#xff1a; 高 目标&#xff1a; 取得2个root权限 3 个flag 涉及攻…

Linux中的exec族函数

exec 系列函数用于替换当前进程的用户空间代码和数据&#xff0c;从而执行一个新的程序。调用 exec 系列函数不会创建新的进程&#xff0c;但会用新程序的代码和数据替换当前进程&#xff0c;因此调用 exec 后&#xff0c;进程的 ID 保持不变&#xff0c;但进程的行为变为执行新…

前端基础4

本节内容&#xff1a; 1.CSS的弹性布局&#xff0c;也称Flex布局 2.Vue2的生命周期 一、Flex布局 弹性布局是前端页面布局最常用的方式之一&#xff0c;通常使用四个属性。 1.创建盒子 先创建一个盒子并为其添加一些样式可以更直观的体验弹性布局&#xff0c;代码如下&#…

keepalived保活nginx1,nginx2

1 下载两个小玩意 yum -y install keepalived yum install psmisc -y 2 配置nginx1&#xff0c;2自启脚本 vim /root/shell/check-nginx.sh 我的脚本放在root/shell里 #!/bin/bash #获取nginx正在运行的进程数 npsnumps -C nginx --no-header | wc -lif [ $n…

企业级WEB应用服务器TOMCAT攻略

目录 一 WEB技术 1.1 HTTP协议和B/S 结构 二 WEB框架 2.1 web资源和访问 2.2 后台应用架构 三 tomcat的功能介绍 3.1 安装 Tomcat 3.2 tomcat的文件结构和组成 3.3 生成tomcat的启动文件 四 结合反向代理实现tomcat部署 4.1 常见部署方式介绍 4.2 利用 nginx 反向代…

第2章-01-网站中的资源介绍

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲,后续完整更新内容如下。 文章…

性能测试-性能监控分析与调优(三)《实战-CPU瓶颈分析、内存问题分析、gc、tomcat性能调优,数据库监控-redis\mysql》

性能监控 使用命令监控 cpu瓶颈分析 top命令 在进行性能测试时使用top命令&#xff0c;界面如下 上图可以看出 - CPU 概况区&#xff1a; %Cpu(s): - us&#xff08;用户进程占用CPU的百分比&#xff09;, 和 sy&#xff08;系统进程占用CPU的百分比&#xff09; 的数…

热门奥运冠军代言费用贵,中小微企业怎么找冠军代言?

巴黎奥运会的热潮未退&#xff0c;这个月运动员代言的比例显著上升&#xff0c;比如游泳冠军潘展乐拿下携程等5个代言&#xff0c;孙颖莎手握可口可乐等7个代言。越来越多的企业和品牌通过冠军代言的形式来提升自身的品牌形象和市场竞争力。运动员代表着健康、拼搏和胜利&#…

thinkphp5漏洞分析之文件包含

目录 一、环境 二、开始研究 三、漏洞分析 四、漏洞修复 五、攻击总结 一、环境 thinkphp官网下载 创建 application/index/view/index/index.html 文件&#xff0c;内容随意&#xff08;没有这个模板文件的话&#xff0c;在渲染时程序会报错&#xff09; 二、开始研究 创…

【机器人学】7-2.六自由度机器人自干涉检测-计算圆柱体的上下圆心坐标【附MATLAB代码】

目录 前言 机械臂几何参数 机器等效圆柱体坐标确定 MATLAB代码 前言 上一章介绍了机器人自干涉检测的总体算法&#xff0c;提出了算法的三个核心&#xff1a; 一 根据机械臂的几何数据以及DH参数&#xff0c;确定机械臂等效的圆柱体的上下圆心坐标。 二 将一个圆柱体旋转到…

《少年白马醉春风》圆满收官 白澍“琅琊王”萧若风热度飙升

由陈宙飞执导&#xff0c;周木楠编剧&#xff0c;侯明昊、何与、胡连馨领衔主演&#xff0c;夏之光、姜贞羽特别出演&#xff0c;完颜洛绒、白澍等主演的古装武侠剧《少年白马醉春风》于昨日收官&#xff0c;大结局播出后&#xff0c;粉丝们直呼没看够&#xff01;对于剧中角色…

Qt Creator安装配置指南

1.官网下载在线安装包 官网地址&#xff1a; https://www.qt.io/download-dev#eval-form-modal 2.双击在线安装包按引导流程安装qt 3.选择自己要配置的qt环境版本 3.1如果要选中低版本的qt环境我这里安装的是qt5.15.2的(其他低版本也一样的)&#xff0c;要勾选上Archive(存…

vulnhub靶场 — NARAK

下载地址:https://download.vulnhub.com/ha/narak.ova Description:Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of Hell himself. Can you use your hacking skills to get out of the Narak? Burning walls and demons are around every cor…

AI安全-文生图

1 需求 2 接口 3 示例 大模型图像安全风险探析 - 先知社区 前言 文生图模型是一种新兴的人工智能技术,它通过对大规模文本数据的学习,能够生成逼真的图像。这种模型包含两个主要组件:一个文本编码器和一个图像生成器。 文本编码器接收文本输入,并将其转换为一种数字化的表示…

JimuReport 积木报表 v1.8.0 版本发布,开源可视化报表

项目介绍 一款免费的数据可视化报表工具&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完…