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

作业做哪些类型的网站临沂seo

作业做哪些类型的网站,临沂seo,咖啡网站建设设计规划书,类似pinterest的网站目录 题目描述解法运行结果 题目描述 给你一个链表的头节点 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.shuangfujiaoyu.com/news/41605.html

相关文章:

  • 北京网站设计制作招聘信息企业做网上推广
  • 免费空间自带域名武汉建站优化厂家
  • 北京网站建设公司东为上海知名seo公司
  • app开发网站建设优化网站快速排名软件
  • 淘宝客网站备案号青岛网站运营
  • 网站seo数据分析长沙本地推广联系电话
  • 邯郸网站建设效果好花钱推广的网络平台
  • 郑州企业网站建设前端seo怎么优化
  • 网站建设市场前景作品推广
  • 东莞微信网站建设信息百度免费广告发布平台
  • 重庆网站建设价格app开发费用
  • 许昌做网站哪家好成都网站优化seo
  • 西安做网站缑阳建a5站长网
  • 企业网站建设运营的灵魂是站长基地
  • 开发网站中心网络推广优化平台
  • 不用花生壳做网站服务器济南seo公司
  • b2b网站开发客户线上seo关键词优化软件工具
  • 宁波企业网站设计站内营销推广方案
  • 安阳做网站哪里好搜索引擎排行榜前十名
  • 合肥网站设计建设公司seo免费优化
  • 靖江网站建设公司如何制作自己的网页
  • 网站建设页面底部叫什么网络营销策划总结
  • 做哪些网站不受法律保护超级seo助手
  • 织梦网站根目录在哪里神马移动排名优化
  • 个人备案网站百度收录哪个平台推广效果好
  • 浦东新区建设交通委网站seo搜索优化推广
  • 网站软文推广网站百度2020新版下载
  • 网站怎么做才有效果广州市运营推广公司
  • 淄博网站建设互联网行业都有哪些工作
  • 福州婚庆网站建设哪个公司比较专业成功营销案例分享