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

网站建设 中黑色系 网站

网站建设 中,黑色系 网站,精神文明建设专题网站,做外贸的网站要多少钱目录 题目描述解法运行结果 题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 示例 2: 输入:head…

目录

  • 题目描述
  • 解法
  • 运行结果


题目描述

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

解法

快慢指针 + 链表拼接

我们先判断链表节点数是否小于 2,如果是,直接返回 head 即可。

否则,我们先统计链表节点数 n,然后将 k 对 n 取模,得到 k 的有效值。

如果 k 的有效值为 0,说明链表不需要旋转,直接返回 head 即可。

否则,我们用快慢指针,让快指针先走 k 步,然后快慢指针同时走,直到快指针走到链表尾部,此时慢指针的下一个节点就是新的链表头节点。

最后,我们将链表拼接起来即可。

时间复杂度 O(n),其中 n 是链表节点数,空间复杂度 O(1)。

# 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"""if head is None or head.next is None:return headcur, n = head, 0while cur:n += 1cur = cur.nextk %= nif k == 0:return headfast = slow = headfor _ in range(k):fast = fast.nextwhile fast.next:fast, slow = fast.next, slow.nextans = slow.nextslow.next = Nonefast.next = headreturn ans

运行结果

在这里插入图片描述

http://www.yayakq.cn/news/588459/

相关文章:

  • 模板王网站怎么下载不了模板桂林漓江在哪个位置
  • 广西网站建设的公司企业做网站需要准备什么资料
  • 织梦网站版本百度一下你就知道下载安装
  • 做网站静态和动态做家装图接单网站
  • 网站子域名 更换网络策划方案
  • 林州网站建设制作网络广告主要有哪几种
  • 聊城做网站推广域名注册好了怎么打开网站
  • 陇南做网站电商类网站怎么做推广
  • 企业网站优化推广公司国外好的室内设计网站
  • 做承诺的网站最新电视剧在线观看免费
  • 最新网站建设合同广州番禺区核酸检测点
  • 郑州机械网站建设网站建设域名备案谁负责
  • 成都本地网站建设网站asp源码
  • 做网站要实名认证吗医院做网站的好处
  • 建设银行投诉处理网站wordpress内链插件
  • 郑州网站建设求职简历jeecms 怎么建设网站
  • 专业网站设计制合肥作东莞企业网站设计排名
  • 众创空间文化建设网站设置wordpress导航栏
  • 土耳其网站后缀网站规划的解释
  • 新网网站建设资料和幼儿做网站
  • 企业展厅设计公司100%正品保障江门网站优化排名
  • 做足球网站前景个人网站免费域名和服务器
  • 个人怎么做课程网站深圳电器公司邮编
  • 西安网站制作百亿科技安阳县事业单位
  • 安徽网站排名社群运营的经典案例
  • 甪直做网站网业翻译成中文
  • 江西省网站建设先进表彰qq业务网站平台
  • 网站维护包括哪些wordpress 下划线
  • 西双版纳建设厅网站手机网站制作大约多少钱
  • 自己做网站卖能赚钱吗wordpress快讯 主题