8-链表-旋转链表

这是链表的第8篇算法,力扣链接。

给你一个链表的头节点 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]

这里先采用快慢指针试一下:

func rotateRight(head *ListNode, k int) *ListNode {if head == nil || head.Next == nil || k == 0 {return head}result := &ListNode{Next: head}left, right := head, headfor i := 0; i < k; i++ {if right.Next == nil {right = head} else {right = right.Next}}for right.Next != nil {left = left.Nextright = right.Next}if left.Next == nil {return result.Next}result.Next = left.Nextright.Next = headleft.Next = nilreturn result.Next
}

还有另一个方法,就是计数法,浅试一下。

func rotateRight(head *ListNode, k int) *ListNode {if head == nil || head.Next == nil || k == 0 {return head}cur := headcount := 1for cur.Next != nil {count++cur = cur.Next}pos := count - k%countif count == 0 {return head}// 成环cur.Next = headfor pos > 0 {cur = cur.Nextpos--}// 最后一次取下一个值 将指针移到指定位置result := cur.Next// 破环cur.Next = nilreturn result
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[足式机器人]Part2 Dr. CAN学习笔记-Ch01自动控制原理

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Ch01自动控制原理 1. 开环系统与闭环系统Open/Closed Loop System1.1 EG1: 烧水与控温水壶1.2 EG2: 蓄水与最终水位1.3 闭环控制系统 2. 稳定性分析Stability2.1 序言2.2 稳定的分类2.3 稳定的对…

【PTA-C语言】编程练习5 - 函数与指针

如果代码存在问题&#xff0c;麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 编程练习5 - 函数与指针 6-1 求实数和的函数&#xff08;分数 10&#xff09;6-2 求解一元二次方程实根的函数&#xff08;分数 10&#xff09;6-3 求集合数据的均方差&#xff08;分数 10&#xff09;6-4 计…

一、基础入门笔记

01基础语法 字面量 被写下来的固定的值 数字 整数int 1&#xff0c;2&#xff0c;3&#xff0c;4浮点数float 13.14复数complet 43J布尔 TrueFalse 字符串"ccc" 描述文本的数据类型大小比较依据ASC||&#xff0c;a>A> 按照位比较 列表 有序的可变序列 元组 有序…

天融信TOPSEC Cookie 远程命令执行漏洞

产品介绍 天融信TopSec 安全管理系统&#xff0c;是基于大数据架构&#xff0c;采用多种技术手段收集各类探针设备安全数据&#xff0c;围绕资产、漏洞、攻击、威胁等安全要素进行全面分析&#xff0c;提供统一监测告警、集中策略管控、协同处置流程&#xff0c;实现客户等保合…

FindMy技术用于鼠标

鼠标是计算机的标准配置之一&#xff0c;其设计初衷是为了使计算机的操作更加简便快捷&#xff0c;减少用户在操作中的负担。用户可以通过移动鼠标&#xff0c;实现光标的精确移动&#xff0c;进而选择、拖拽、复制、粘贴等操作。这种操作方式&#xff0c;使得计算机的操作变得…

人工智能未来发展前景怎么样?

人工智能的未来发展前景怎么样&#xff1f;人工智能的未来发展前景非常广阔&#xff0c;有以下几个方面的发展趋势和前景&#xff1a; 1、人工智能的未来发展前景-应用领域扩展&#xff1a;人工智能将在各个领域得到广泛应用&#xff0c;包括医疗保健、金融、交通、制造业、农业…

0.3-0.2 = 0.09999999999999998 问题解析(精度缺失问题)

写在前面 这个问题其实一直存在&#xff0c;我也看了很多博主写的文章&#xff0c;但是没有一篇文章真的说明白了这个问题&#xff0c;所以今天我尽量将这个问题讲明白&#xff0c;废话不多说&#xff0c;开整 问题表象 研究一下0.3 - 0.2 不等于0.1的问题&#xff0c;做前端时…

<软考高项备考>《论文专题 - 45 范围管理(4) 》

5 过程4-创建WBS 5.1 问题 4W1H过程做什么把项目可交付成果和项目工作分解成较小、更易于管理的组件的过程作用&#xff1a;为所要交付的内容提供0架构为什么做WBS代表着项目范围说明书所规定的工作&#xff0c;可以针对WBS 的工作包安排进度&#xff0c;估算成本和实施监控谁…

java SSM体育器材租借管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM体育器材租借管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要…

海外服务器2核2G/4G/8G和4核8G配置16M公网带宽优惠价格表

腾讯云海外服务器租用优惠价格表&#xff0c;2核2G10M带宽、2核4G12M、2核8G14M、4核8G16M配置可选&#xff0c;可以选择Linux操作系统或Linux系统&#xff0c;相比较Linux服务器价格要更优惠一些&#xff0c;腾讯云服务器网txyfwq.com分享腾讯云国外服务器租用配置报价&#x…

php-7.1.13的配置文件一览

[PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; PHP’s initialization file, generally called php.ini, is responsible for ; configuring many of the aspects of PHP’s behavior. ; PHP attempts to find and load this configuration from a num…

GZ075 云计算应用赛题第5套

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷5 某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenSt…

17|回调函数:在AI应用中引入异步通信机制

17&#xff5c;回调函数&#xff1a;在AI应用中引入异步通信机制 回调函数和异步编程 回调函数&#xff0c;你可能并不陌生。它是函数 A 作为参数传给另一个函数 B&#xff0c;然后在函数 B 内部执行函数 A。当函数 B 完成某些操作后&#xff0c;会调用&#xff08;即“回调”…

如何对APP进行安全加固

引言 如今&#xff0c;移动应用市场蓬勃发展&#xff0c;APP数量呈现爆炸性增长。随着5G技术的广泛应用&#xff0c;APP的增长趋势持续增强。然而&#xff0c;由于APP的泛滥&#xff0c;网络攻击者的目标也在逐渐转移&#xff0c;数亿的移动互联网用户面临着病毒攻击的威胁&am…

计算机毕业设计——SpringBoot 房屋销售租赁平台 房屋购物网站(附源码)

1&#xff0c;绪论 1.1 背景调研 在房地产行业持续火热的当今环境下&#xff0c;房地产行业和互联网行业协同发展&#xff0c;互相促进融合已经成为一种趋势和潮流。本项目实现了在线房产平台的功能&#xff0c;多种技术的灵活运用使得项目具备很好的用户体验感。 这个项目的…

杨中科 ASP.NET MVC

ASP.NET Core 入门 什么是ASP.NET CORE 1、ASP.NET Core是.NET中做Web开发的框架 2、ASP.NET Core MVC 传统MVC项目&#xff0c;前后端都做在一起 3、ASP.NET Core Web API: 前后端分离、多端开发。(是属于MVC中的一部分) 4、ASPNET Core MVC其实包含Web API&#xff0c;不过…

Python入学测试题 江苏某线下培训机构出题

入学测试题 温馨提示&#xff1a;为检测自身的情况&#xff0c;请认真作答&#xff0c;不要进行上网搜答案 1. 实现冒泡排序 for i in range(len(nums)):for j in range(0, len(nums) - i - 1):if nums[j] > nums[j 1]:nums[j], nums[j 1] nums[j 1], nums[j] 2. 二维…

未来十年不变的AI是什么?吴恩达等专家关于2024年AI发展趋势的预测

随着2024年的到来&#xff0c;人工智能领域正迎来前所未有的变革和发展。从深度学习到自然语言处理&#xff0c;AI技术的每一个分支都在经历着快速的进步。在这个关键的时刻&#xff0c;业界专家们提出了对未来趋势的深刻洞察&#xff0c;预测了将形成AI发展主流的关键方向。智…

雍禾医疗以患者为中心 雍禾植发医生文志清专注做精每一台手术

随着生活方式的改变&#xff0c;晚睡、长期使用电子产品等原因让脱发成为消费者不可忽视的问题。有相关数据显示&#xff0c;76%消费者关注自己的头皮健康状况&#xff0c;53%的人群受到脱发困扰&#xff0c;已经有20%消费者认识到专业毛发医疗机构的重要性&#xff0c;选择到专…

V8R6小版本升级步骤(单机环境)

在KingbaseES V8R6版本提供了sys_upgrade的升级工具。 sys_upgade介绍 sys_upgrade实现KingbaseES服务器实例版本升级。 sys_upgrade 允许将存储在KingbaseES数据文件中的数据升级到一个更高的KingbaseES主版本&#xff0c;而无需进行主版本升级(例如从 V8R6C4 到 V8R6C5)通常…