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

海口网站建设优化wordpress页面和菜单的作用

海口网站建设优化,wordpress页面和菜单的作用,微博推广的好处,天津网站建设企业一、题目描述 给你单链表的头指针 head 和两个整数 left 和 right #xff0c;其中 left right 。请你反转从位置 left 到位置 right 的链表节点#xff0c;返回 反转后的链表 。 示例 1#xff1a; 输入#xff1a;head [1,2,3,4,5], left 2, right 4 输出#…一、题目描述 给你单链表的头指针 head 和两个整数 left 和 right 其中 left right 。请你反转从位置 left 到位置 right 的链表节点返回 反转后的链表 。 示例 1 输入head [1,2,3,4,5], left 2, right 4 输出[1,4,3,2,5]示例 2 输入head [5], left 1, right 1 输出[5]提示 链表中节点数目为 n1 n 500-500 Node.val 5001 left right n 二、解题思路 初始化: 创建一个哑结点 dummy其 next 指针指向 head。这样即使 head 发生变化我们也可以通过 dummy.next 获取到新的头结点。同时我们还需要设置两个指针 pre 和 cur分别初始化为 dummy。 定位: 将 pre 移动到 left - 1 的位置将 cur 移动到 left 的位置。 反转链表: 从 left 到 right我们需要反转这部分链表。我们可以使用头插法进行链表的反转。具体来说对于 cur 当前指向的节点我们将其从链表中取出然后将其插入到 pre 和 pre.next 之间。 返回结果: 反转完成后返回 dummy.next 即为新的头结点。 三、具体代码 class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {ListNode dummy new ListNode(0);dummy.next head;ListNode pre dummy;// 定位到left的前一个节点for (int i 0; i left - 1; i) {pre pre.next;}// cur是left位置的节点ListNode cur pre.next;// 反转left到right的链表for (int i 0; i right - left; i) {ListNode temp cur.next; // 取出下一个节点cur.next temp.next; // 断开连接temp.next pre.next; // 插入到pre和pre.next之间pre.next temp;}return dummy.next;} }四、时间复杂度和空间复杂度 1. 时间复杂度 定位到 left 的前一个节点的循环会运行 left - 1 次。反转链表的循环会运行 right - left 次。因此总的时间复杂度是 O(n)其中 n 是链表的长度。在最坏的情况下left 和 right 可能分别接近 1 和 n这将使得时间复杂度接近 O(n)。 2. 空间复杂度 该算法只使用了几个额外的节点dummy, pre, cur, temp不管链表有多长这些额外的节点数量都是固定的。因此空间复杂度是 O(1)即常数空间复杂度。 综上所述该算法的时间复杂度是 O(n)空间复杂度是 O(1)。 五、总结知识点 1. 链表操作 链表节点的定义使用 ListNode 类来定义链表节点每个节点包含一个 val 属性和一个 next 指针。链表的遍历通过节点的 next 指针遍历链表。链表的插入在链表中插入一个新节点需要修改相邻节点的 next 指针。 2. 哑结点的使用 哑结点dummy是一个辅助节点通常用于简化边界条件的处理。在这个问题中它被用来确保即使在链表的头部进行操作也能保持代码的一致性。 3. 指针的概念 pre 和 cur 是两个指针用于跟踪链表中的当前位置。pre 指向当前节点的前一个节点而 cur 指向当前节点。 4. 链表的反转 通过改变节点的 next 指针方向可以实现在原地反转链表的部分区间。这是通过将每个节点移动到链表的前端来完成的这个过程通常称为头插法。 5. 循环的使用 两个 for 循环被用来定位到需要反转的链表部分以及执行实际的反转操作。 6. 边界条件的处理 代码中通过 left - 1 和 right - left 来确定循环的次数这样可以确保正确地定位到需要反转的链表区间并且反转正确的节点数量。 7. 函数返回值 函数返回 dummy.next这是因为 dummy 是一个哑结点它的 next 指针指向链表的真正头部。 以上就是解决这个问题的详细步骤希望能够为各位提供启发和帮助。
http://www.zqtcl.cn/news/826899/

相关文章:

  • wordpress无法添加媒体百度官网优化
  • 安徽教育云网站建设贾汪网站开发
  • 商业设计网站推荐用图片设置网站首页
  • 同ip网站有什么危害软文营销的特点有哪些
  • 用动易做的校园网站成品网站 免费试用
  • 没有网站做cpa怎么赚钱网站模板中企动力
  • 商会联盟网站建设方案免费的个人空间建网站
  • 徐州网站建设4个人网站设计师
  • 易企秀网站怎么做轮播图装饰设计公司wordpress主题
  • 网站建设搜索优wordpress the
  • 怎么做点图片连接网站北京大学网络服务
  • 家具制作网站台州网页设计公司
  • 优化网站 提高查询建设综合购物网站
  • 农产品网站设计方案湖南长沙网站建设公司
  • 网站过期查询服务器放网站吗
  • 郑州做网站的外包公司有哪些大连seo排名
  • 写小说的网站自己做封面2008年做的网站
  • 哈尔滨做网站哪家好强企业邮箱登录入口163
  • 网站点击率原因学php到做网站要多久
  • 哪里有创建网站的长沙网站seo技巧
  • 影楼公共网站wordpress提交360
  • 哪有做网站东莞中堂网站建设
  • 什么叫域名访问网站网络运营管理
  • 深圳网络推广网站泰安网站建设公司
  • 淄博网站建设铭盛信息如何注册一个app平台
  • 深圳网站的建设维护公司成功的网站必须具备的要素
  • wordpress主题站主题小型企业网站的设计与实现
  • 长沙专门做网站公司怎么进入网站管理页面
  • 做网站企业的发展前景东莞免费企业网站模板推广
  • 国外做锅炉的网站wordpress批量提交表单