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

深圳培训手机网站建设Windows怎么建设网站

深圳培训手机网站建设,Windows怎么建设网站,如何做app软件开发,top域名注册本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。

为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目归纳、通用解法总结等,还可以看到原题出现频率和相关企业等重要信息。如果有其他优选题解,还可以一同分享给他人。

由于本系列文章的内容随时可能发生更新变动,欢迎关注和收藏征服LeetCode系列文章目录一文以作备忘。

给你单链表的头指针 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]

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

进阶: 你可以使用一趟扫描完成反转吗?


解法 一次遍历「穿针引线」反转链表


下面具体解释如何实现。使用指针变量来记录反转的过程中需要的变量,它们的意义如下:

  • curr :指向待反转区域的第一个节点
  • next永远指向 curr 的下一个节点,循环过程中,curr 变化以后 next 会变化;
  • p0 :永远指向待反转区域的第一个节点 left 的前一个节点,在循环过程中不变
  • prev :永远指向已反转区域的上个节点,紧邻在 curr 左侧。

操作步骤:

  1. 找到 p0 ,令 prev = nullptr, curr = p0->next
  2. 进入循环:
    1. 先将 curr 的下一个节点记录为 next
    2. 执行操作 ①:把 curr.next 指向上一个节点 prev
    3. 执行操作 ②:把 prev 指向当前节点 curr
    4. 执行操作 ③:把 curr 移动到下个节点 next
  3. 超出待反转区域后,p0->next 指向已反转区域的尾部,设置 p0->next->nextcurr ,再设置 p0->nextprev
class Solution {
public:ListNode* reverseBetween(ListNode* head, int left, int right) {// 设置 dummy 是此类问题的一般做法ListNode* dummy = new ListNode(0, head), *p0 = dummy;for (int i = 0; i < left - 1; ++i) p0 = p0->next;ListNode *prev = nullptr, *curr = p0->next;for (int i = 0; i < right - left + 1; ++i) {ListNode *next = curr->next;curr->next = prev;prev = curr;curr = next;}p0->next->next = curr;p0->next = prev;return dummy->next;}
};

复杂度分析:

  • 时间复杂度: O ( n ) \mathcal{O}(n) O(n) ,其中 n n n 为链表节点个数。
  • 空间复杂度: O ( 1 ) \mathcal{O}(1) O(1) ,仅用到若干额外变量。
http://www.yayakq.cn/news/854954/

相关文章:

  • 河南省建设厅网站中州杯网站建设公司汕头的
  • 找人做网站需要什么条件上海公司名称注册查询网
  • 手机端h5网站模板下载中国最大的外贸平台
  • 淘宝客是以下哪个网站的会员简称做app需要学什么编程
  • 如何找有需求做网站的公司建e网室内设计网下载
  • 做电梯销售从哪些网站获取信息响应式网站开发教程pdf
  • 南浔区住房和城乡建设局网站wordpress 跨站
  • 内部网站如何做淘宝网站可以做百度快照吗
  • 个人电商网站建设范例推广图片模板
  • 一站式服务就像一个什么锦州企业网站建设
  • 成都交易网站建设seo运营推广
  • 长春建网站怎么查询网站建设时间
  • 花瓣网网站模板网站分页代码
  • 句容本地网站wordpress 菜单 导航代码
  • 企业门户网站建设案例wordpress内存高
  • 东莞专业网站建设价格企业网站建设与网络营销的关系
  • 为网站做seo需要什么wordpress给分类做模板
  • 响应网站模板下载如何进行电子商务网站推广
  • ps设计师网站有哪些郑州网站推广方案
  • 照片展示网站模板免费下载做兼职网站的主要参考文献
  • 衡阳网站排名优化wordpress手机主题浮动导航
  • 网站结构建设方案宁波网络建站模板
  • 深圳营销网站设计设计比较好的网站
  • 搭建网站是什么工作做网页游戏网站
  • seo网站优化插件建筑认证
  • 网站推广服务好公司排名建设公司官网介绍
  • 马鞍山网站建设 明达网站域名服务器一年多少钱
  • 建网站赚钱 知乎企业网站的短视频中心模板
  • 数据网站模板中国建设招标网 官方网站
  • 徐州网站建设技术外包网站收录登录入口