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

61. 旋转链表

61. 旋转链表

  • 题目-中等难度
  • 示例
  • 1. 快慢指针找到分割位置
  • 2. 连成环后截断

题目-中等难度

相关企业
给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

示例

示例 1:
在这里插入图片描述

输入:head = [1,2,3,4,5], k = 2
输出:[4,5,1,2,3]

示例 2:
在这里插入图片描述

输入:head = [0,1,2], k = 4
输出:[2,0,1]

提示:*

  • 链表中节点的数目在范围 [0, 500] 内
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/summary-ranges
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

1. 快慢指针找到分割位置

时间
20ms
击败 81.37%使用 Python 的用户
内存
12.63mb
击败 83.54%使用 Python 的用户

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def rotateRight(self, head, k):""":type head: ListNode:type k: int:rtype: ListNode"""# 先计算链表长度p = headl = 0while p:l += 1p = p.nextif l <= 1 or k == 0:return head# 快慢指针fast = slow= head# 让快指针先行k%l个位置for i in range(k%l):fast = fast.next# 然后让快指针行到最后节点位置,慢指针则是后半链表的头节点位置nn = ListNode(-1)cur = nnwhile fast:fast = fast.nextcur.next = ListNode(slow.val)slow = slow.nextcur = cur.next# 如果slow存在, 得到slow的最后一个节点位置, 拼接nnif slow:r = slowelse:return nn.nextwhile r and r.next:r = r.next# slow + 排除头节点的nnr.next = nn.nextreturn slow

2. 连成环后截断

时间
24ms
击败 53.42%使用 Python 的用户
内存
12.51mb
击败 97.52%使用 Python 的用户

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def rotateRight(self, head, k):""":type head: ListNode:type k: int:rtype: ListNode"""p = head# 长度计算n = 1while p and p.next:n+=1p = p.next# 如果k为0 或者n小于等于1if(k == 0) or n <= 1:return head# nnt 获取截断位置nt = head# 成环p.next = head# 获取截断点for i in range(n - k % n - 1):nt = nt.next# 结果头res = nt.next# 截断循环nt.next = Nonereturn res

相关文章:

61. 旋转链表

61. 旋转链表 题目-中等难度示例1. 快慢指针找到分割位置2. 连成环后截断 题目-中等难度 相关企业 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出…...

Python实现动态调用Matlab自定义函数

首先需要下载与python版本对应的matlab&#xff0c;并成功执行matlab中的setup.py文件 参考流程如下 https://blog.csdn.net/s1k9y9/article/details/127793053 完成上述步骤即可开始实现动态调用matlab文件。 文件目录如下 D://call/ |–matlab |–test1 |–main.m |–test2 |…...

redis集群和分片-Redis Cluster:分布式环境中的数据分片、主从复制和 Sentinel 哨兵

当涉及到 Redis 中的集群、分片、主从复制和 Sentinel 哨兵时&#xff0c;这些是构建分布式 Redis 环境中非常重要的概念和组件。下面详细介绍这些概念以及它们在分布式环境中的作用。 Redis Cluster Redis Cluster 是 Redis 官方提供的分布式解决方案&#xff0c;用于管理和…...

【数据库基础】Mysql下载安装及配置

下载 下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 当前最新版本为 8.0版本&#xff0c;可以在Product Version中选择指定版本&#xff0c;在Operating System中选择安装平台&#xff0c;如下 安装 MySQL安装文件分两种 .msi和.zip [外链图片转存失…...

iptables安全与防火墙

防火墙 防火墙主要作用是隔离功能&#xff0c;它是部署在网络边缘或主机边缘&#xff1b;另外在生产中防火墙的主要作用是&#xff1a;决定哪些数据可以被外网访问以及哪些数据可以进入内网访问&#xff1b;顾名思义防火墙处于TCP协议中的网络层。 防火墙分类&#xff1a; 软…...

Linux 内核线程启动以及内核调用应用层程序

#include <linux/kthread.h> //内核线程头文件 static task_struct *test_task; test_task kthread_run(thread_function, NULL, "test_thread_name"); if(IS_ERR(test_task)) { pr_err("test_thread_name create fail\n"); } static int th…...

React+Typescript清理项目环境

上文 创建一个 ReactTypescript 项目 我们创建出了一个 React配合Ts开发的项目环境 那么 本文 我们先将环境清理感觉 方便后续开发 我们先来聊一下React的一个目录结构 跟我们之前开发的React项目还是有一些区别 public 主要是存放一些静态资源文件 例如 html 图片 icon之类的 …...

【linux学习】linux的模块机制

文章目录 前言模块的Hello World&#xff01; 前言 Linux允许用户通过插入模块&#xff0c;实现干预内核的目的。一直以来&#xff0c;对linux的模块机制都不够清晰&#xff0c;因此本文对内核模块的加载机制进行简单地分析。 ref:https://www.cnblogs.com/fanzhidongyzby/p/…...

用 oneAPI 实现 AI 欺诈检测:一款智能图像识别工具

简介 虚假图像和视频日益成为社交媒体、新闻报道以及在线内容中的一大隐患。在这个信息爆炸的时代&#xff0c;如何准确地识别和应对这些虚假内容已经成为一个迫切的问题。为了帮助用户更好地辨别虚假内容&#xff0c;我开发了一款基于 oneAPI、TensorFlow 和 Neural Compress…...

云计算的发展前景怎么样

云计算是当前科技领域中最受关注的领域之一,它的出现改变了传统的计算模式,使得企业和个人能够更加便捷地访问和使用计算资源。随着云计算技术的不断发展,它的前景也变得更加光明。 以下是云计算的发展前景: 云计算的市场份额将继续增长:根据市场研究机构的报告,云计算的市场份…...

opencv实战项目 手势识别-手势音量控制(opencv)

本项目是使用了谷歌开源的框架mediapipe&#xff0c;里面有非常多的模型提供给我们使用&#xff0c;例如面部检测&#xff0c;身体检测&#xff0c;手部检测等。 手势识别系列文章 1.opencv实现手部追踪&#xff08;定位手部关键点&#xff09; 2.opencv实战项目 实现手势跟踪…...

Mac下编译32位Qt

不建议&#xff0c;MAC新版不支持32位程序&#xff01;&#xff01;&#xff01; Mac下编译32位Qt 关于Mac10.11.4下编译32bit Qt5.6.1的问题...

企业数据库遭到360后缀勒索病毒攻击,360勒索病毒解密

在当今数字化时代&#xff0c;企业的数据安全变得尤为重要。随着数字化办公的推进&#xff0c;企业的生产运行效率得到了很大提升&#xff0c;然而针对网络安全威胁&#xff0c;企业也开始慢慢引起重视。近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器遭到了…...

C++11时间日期库chrono的使用

chrono是C11中新加入的时间日期操作库&#xff0c;可以方便地进行时间日期操作&#xff0c;主要包含了&#xff1a;duration, time_point, clock。 时钟与时间点 chrono中用time_point模板类表示时间点&#xff0c;其支持基本算术操作&#xff1b;不同时钟clock分别返回其对应…...

每天一道leetcode:1466. 重新规划路线(图论中等广度优先遍历)

今日份题目&#xff1a; n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成一颗树&#xff09;。去年&#xff0c;交通运输部决定重新规划路线&#xff0c;以…...

Mysql—修改用户密码(重置密码)

Mysql—修改用户密码&#xff08;重置密码&#xff09; 1、登录mysql 1 2 [rootlocalhost ~]# mysql -uroot -p123456 [rootlocalhost ~]# mysql -hlocalhost -uroot -p123456 如果忘记密码&#xff0c;则跳过MySQL的密码认证过程。步骤如下&#xff1a; 修改Mysql配置文件…...

ECE585 Tomasulo算法:C++ Tomasulo算法模拟器

ECE585 Tomasulo算法&#xff1a;C Tomasulo算法模拟器 在计算机科学中&#xff0c;Tomasulo算法是一种动态调度和动态执行的方法&#xff0c;它可以有效地处理计算机指令的依赖性。这种算法由IBM的Robert Tomasulo发明&#xff0c;最初用于IBM 360/91的浮点单元。在这篇文章中…...

Qt中在QLabel上画点,重写QLabel类

Qt中在QLabel上画点&#xff0c;重写QLabel类 QT中label进行绘图 1.首先新建一个类&#xff0c;让这个类继承QLabel 2.在类中对鼠标点击事件及绘图事件进行重写 3.然后在UI框架下添加label控件&#xff0c; 4.右键label控件&#xff0c;添加重写的类&#xff0c;将其提升为刚…...

ssm+vue小型企业办公自动化系统源码和论文PPT

ssmvue小型企业办公自动化系统源码和论文PPT013 开发工具&#xff1a;idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具&#xff1a;navcat,小海豚等 开发技术&#xff1a;java ssm tomcat8.5 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xf…...

C++ STL priority_queue

目录 一.认识priority_queue 二. priority_queue的使用 三.仿函数 1.什么是仿函数 2.控制大小堆 3.TopK问题 四.模拟实现priority_queue 1.priority_queue的主要接口框架 2.堆的向上调整算法 3.堆的向下调整算法 4.仿函数控制大小堆 五.priority_queue模拟实现整体代码和测…...

Cursor Pro功能解锁技术解析与实战方案

Cursor Pro功能解锁技术解析与实战方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial request limit. / Too m…...

YOLOv8n-face:工业级人脸检测技术的精度与效率平衡之道

YOLOv8n-face&#xff1a;工业级人脸检测技术的精度与效率平衡之道 【免费下载链接】yolov8-face yolov8 face detection with landmark 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8-face 一、行业痛点诊断&#xff1a;企业级人脸检测的现实挑战 1.1 复杂场景…...

WooCommerce 的 SEO 优化技巧有哪些_WooCommerce 的结账流程如何设置

WooCommerce 的 SEO 优化技巧有哪些 在当今电子商务领域&#xff0c;WooCommerce 作为一个功能强大的 WordPress 插件&#xff0c;被广泛用于搭建电子商店。一个功能强大的平台也需要优化&#xff0c;特别是 SEO 优化。SEO&#xff08;Search Engine Optimization&#xff0c;…...

3大核心问题解决:B站视频处理全流程指南从下载到去水印的实战方案

3大核心问题解决&#xff1a;B站视频处理全流程指南从下载到去水印的实战方案 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水…...

Qwen3-14B二次开发入门:基于内置Transformers接口扩展自定义功能

Qwen3-14B二次开发入门&#xff1a;基于内置Transformers接口扩展自定义功能 1. 为什么需要二次开发Qwen3-14B Qwen3-14B作为通义千问系列的最新大语言模型&#xff0c;在通用任务上表现出色。但在实际业务场景中&#xff0c;我们往往需要针对特定需求进行功能扩展。比如&…...

YOLO X Layout部署教程:CentOS 7离线环境安装ONNX Runtime 1.16兼容包

YOLO X Layout部署教程&#xff1a;CentOS 7离线环境安装ONNX Runtime 1.16兼容包 1. 引言 如果你正在CentOS 7服务器上部署YOLO X Layout文档理解模型&#xff0c;可能会遇到一个常见问题&#xff1a;系统自带的ONNX Runtime版本太旧&#xff0c;而YOLO X Layout需要1.16或更…...

通义千问2.5-7B-Instruct环境部署:Docker镜像快速启动教程

通义千问2.5-7B-Instruct环境部署&#xff1a;Docker镜像快速启动教程 你是不是也遇到过这样的情况&#xff1a;想试试最新的大模型&#xff0c;但一看到“编译依赖”“CUDA版本匹配”“量化配置”就头皮发麻&#xff1f;下载模型权重、配置环境、调试端口……光是准备就花掉半…...

如何利用 SEO 标题和关键词提高网站可发现性_如何利用 SEO 标题和关键词进行分析和优化

如何利用 SEO 标题和关键词提高网站可发现性 在当今的数字化时代&#xff0c;网站的可发现性直接关系到其流量和成功。在这个竞争激烈的环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;成为了提高网站可发现性的关键。其中&#xff0c;SEO标题和关键词的运用尤为重…...

Nginx从专家到小白

文章目录主要用途Nginx 本地路径映射 HTTP 服务搭建文档一、环境信息二、安装步骤2.1 下载 Nginx2.2 解压安装三、配置说明3.1 配置文件路径3.2 完整配置内容3.3 配置项说明四、常用命令4.1 启动 Nginx4.2 停止 Nginx4.3 重新加载配置4.4 查看进程状态4.5 查看端口监听4.6 测试…...

Pandas 操作指南(一):DataFrame 的构建与表格数据组织

在数据分析与数据处理中&#xff0c;原始数据往往并不是一开始就以规范表格的形式出现。它可能来自列表&#xff08;list&#xff09;、字典&#xff08;dict&#xff09;、CSV/Excel 文件&#xff0c;或程序运行过程中临时生成的数据集合。若这些数据尚未被整理为结构明确的表…...