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

做网站 网上接单网站建设在哪里接单

做网站 网上接单,网站建设在哪里接单,华为网站的建设建议书,晋城网站制作公司怎么选题目 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 解析 这道题属实不好想:需要计算出链表的长度,然后在k > n的…
题目

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

示例

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

解析

这道题属实不好想:需要计算出链表的长度,然后在k > n的时候,需要k%n才知道右移几位;然后用n减去上面的那个取模后的值,表示从尾节点开始,还需要走几步;如果是走n步的话,那就没什么意义了,还是旋转后与原链表相同;然后将已经到达尾节点的next指向head,这样就形成了一个环;然后走上面的偏移量,就达到了新链表开始的前一个节点。将这个节点的next赋值成nil后,相当于断开了后面的环,此时拿到了预期结果

代码如下:

/*** Definition for singly-linked list.* type ListNode struct {*     Val int*     Next *ListNode* }*/
func rotateRight(head *ListNode, k int) *ListNode {if k == 0 || head == nil || head.Next == nil {return head}n := 1 // 链表的长度cur := headfor cur.Next != nil {cur = cur.Nextn++ // 比如链表是12345的话,n就是5}add := n - k%n // k是向右移动的次数,k=12取模后是2,也就是45后面,还需要5-2=3个数if add == n { // 链表的长度为n的倍数,旋转后与原链表相同,不用处理return head}cur.Next = head // 尾节点连接到头节点,闭环for add > 0 {cur = cur.Next // 循环走完后,cur此时到了数字3处add--}ret := cur.Next // 数字4,确实是返回结果的头节点cur.Next = nil // 从这里阶段,也就是从上面的4开始,再走一个闭环,到3之后就被截断了return ret
}
http://www.yayakq.cn/news/470539/

相关文章:

  • 多种语言网站建设只卖域名的网站
  • 手机做网站服务器吗小程序开发文档官网
  • 餐饮加盟手机网站建设专业单位网站建设
  • 视频播放类网站建设费用php网站开发流程步骤
  • 个人网站怎么制作成图片深圳网站导航
  • 网站上的链接怎么做新闻头条 今天
  • 网银网站模板青岛做模板网站的公司
  • 定制网站开发流程图锚文本对网站
  • 地推平台招代理乐云seo模板网站建设
  • 营销型网站制作建设百度开户公司
  • 自己做的网站怎么连接计算机网站服务器在哪里买好
  • 郑州网站建设方案服务公司wordpress默认的编辑器
  • 秸秆可以发酵吗网站建设吗国内展厅设计公司排名
  • 崂山网站建设建设网站的app
  • 网站建设工作建议仙桃网站优化
  • 网站开发字典文档企业宣传片
  • 外贸网站制作推广公司湛江霞山
  • 旅游网站怎样做网络宣传网站备案地点
  • 网站建设及维护价钱网站没被收录
  • 华安县城乡规划建设局网站网站建设哪个平台好
  • 建设网站及域名费用云匠网官网
  • 孝感 网站建设雅安做网站
  • 网站免费推广网站安徽网站建设公司
  • 做网站克隆品牌设计案例网站
  • 广州网站(建设信科网络)swoole做网站
  • 网站开发做什么的电影宣传类网页界面设计
  • 网站文章更新怎么通知搜索引擎网站开发的技术支撑 经验能力
  • 网站开发最快的语言asp网站怎么连接数据库
  • 金科网站建设汉中市网站建设公司
  • 宜昌网站开发公司北京网页设计哪家好