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

网站建设的经济可行性分析免费公司网站如何建立设计

网站建设的经济可行性分析,免费公司网站如何建立设计,wordpress主题缓存,山东网站备案号算法套路四——反转链表 算法示例一#xff1a;LeetCode206. 反转链表 给你单链表的头节点 head #xff0c;请你反转链表#xff0c;并返回反转后的链表。 初始化pre为空#xff0c;cur为头指针 pre指针#xff1a;记录当前结点的前一个结点 cur指针#xff1a;记录当…算法套路四——反转链表 算法示例一LeetCode206. 反转链表 给你单链表的头节点 head 请你反转链表并返回反转后的链表。 初始化pre为空cur为头指针 pre指针记录当前结点的前一个结点 cur指针记录当前结点cur的next指针指向pre nxt指针记录当前结点的后一个结点记录cur的next防止断链 循环中左边按照ncpc的顺序反转右边按照cpcn的顺序且左右两边第一个c都为cur.next 反转结束后从原来的链表上看:pre指向反转这一段的末尾,cur指向反转这一段后续的下一个节点 class Solution:def reverseList(self, head: Optional[ListNode]) - Optional[ListNode]:pre Nonecur headwhile cur:nxt cur.nextcur.next prepre curcur nxt#顺序为ncpcreturn pre算法示例二LeetCode92. 反转链表 II 给你单链表的头指针 head 和两个整数 left 和 right 其中 left right 。请你反转从位置 left 到位置 right 的链表节点返回 反转后的链表 。 这题比前一题相比只是在中间进行反转 如果left1那么反转的逻辑与前一题一样可以令pre Nonecur head但若是left1我们在反转时不是从head开始那么在反转后需要一个结点p0来记录反转的前一个结点从而反转后可以连接到前面的结点 但分情况讨论在问题复杂时比较麻烦所以我们可以用到反转链表时常用的哨兵dummy结点它可以作为一个“假”的头结点它的下一个结点指向真正的头结点head这样的话就可以认为left无论是大于或是等于1都可以用p0来记录反转前的结点 初始化后如图所示 pre指向nullp0指向反转前一个结点 在反转结束后链表结构如下图所示 因此直接令 p0.next.nextcur p0.Next pre 最后结果是 且最后返回dummy.next不管head结点是否参与反转dummy.next一定是指向反转后的链表头结点 func reverseBetween(head *ListNode, left int, right int) *ListNode {dummy : ListNode{Val: 0, Next: head}p0:dummyfor i:1;ileft;i{p0p0.Next}var pre,cur *ListNode nil, p0.Nextfor i:0;iright-left1;i{nxt:cur.Nextcur.Nextpreprecurcurnxt}p0.Next.Next curp0.Next prereturn dummy.Next }练习Leetcode25. K 个一组翻转链表 给你链表的头节点 head 每 k 个节点一组进行翻转请你返回修改后的链表。k 是一个正整数它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值而是需要实际进行节点交换。 此题首先按照上一题的思路在第一次反转后如图所示 之后进行下一次反转时如果按照上题的思路对p0进行移动 p0.Next.Next cur p0.Next pre,会得到如下图示 我们可以发现在进行转变后对34进行反转时丢失了反转前一个节点这样会导致之后的反转丢失前链所以我们在转变之前需要一个变量pnext来记录p0.next从而可以记录第二次反转的前一个结点指针然后进行p0.Next.Next cur、p0.Next pre赋值后再将pnext赋给p0 最后如上题一样返回dummy.next func reverseKGroup(head *ListNode, k int) *ListNode {n:0for node:head;node!nil;nodenode.Next{n}dummy : ListNode{Val: 0, Next: head}var pre *ListNodenilcur:headp0:dummyfor ;nk;n-k{for i:0;ik;i{nxt:cur.Nextcur.Nextpreprecurcurnxt}p0.Next.Next curpnext:p0.Next//记录p0.Next防止断链p0.Next prep0pnext}return dummy.Next }练习LeetCode24. 两两交换链表中的节点 给你一个链表两两交换其中相邻的节点并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题即只能进行节点交换。
http://www.hkea.cn/news/14425817/

相关文章:

  • 设计公司网站广告宣传方式有哪些
  • 广州建设网站是什么关系建设银行优缺点
  • 高端网站建设创新百度竞价有点击无转化
  • appcan 手机网站开发网站开发合同 黑客攻击条款
  • c 网站开发教程 购物网站烟台h5网站制作
  • 网站建设服务标准化学做网站多久
  • 网站建站的技术解决方案杭州it公司排名
  • 威海网站建设怎么样网站建设接单技巧
  • 网站建设企业官网源码抖音代运营协议合同范本免费下载
  • 优秀个人博客网站加强网站建设的建议
  • 定制网站 北京北京网站建设好不好天
  • 淮南服装网站建设地址国家商标查询入口
  • 手机建站平台可上传自己视频ppt下载免费完整版
  • 外贸网站建设注意深圳互联网企业名单
  • 湘潭市建设路学校网站做网站时空间的选择
  • uzi视频网站谁做的免费做产品宣传的网站
  • 诚信网站体系建设工作总结大连网站制作的公司哪家好
  • 学校网站建设的意义与途径微信搭建小程序需要多少费用
  • 浙江省建设会计协会网站网站运营队伍与渠道建设
  • mip网站有什么好处小程序卖货怎么样
  • 沈阳市和平区建设局网站广告位网站建设
  • 济南专业网站开发公司安徽省建设厅
  • 网站建设排行榜中国建设网官方网站建筑工程税率
  • 银川 网站建设wordpress 对接酷q
  • 成都哪家公司做网站比较好长沙做php的网站建设
  • 手表网站建站室内设计公司排名及案例
  • WordPress增加下载按钮扬州seo推广
  • 建设部网站核对编号网络平台运营是做什么的
  • 鞍山网站建设联系方式哪些网站可以做任务挣钱
  • 成都营销类网站设计查询网站后台地址