字符串指针数组赋值方式是什么_字符串指针数组赋值方式是什么意思

字符串指针数组赋值方式是什么_字符串指针数组赋值方式是什么意思力扣之反转字符串之原地修改输入数组(双指针方式)题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:示例 2

力扣之反转字符串之原地修改输入数组(双指针方式)
  题目描述

  编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 的形式给出。

  不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

  示例 1:

  示例 2:

  提示: 都是 ASCII 码表中的可打印字符 力扣原题目地址:https://leetcode.cn/problems/reverse-string/description/?languageTags=javascript

  思路解法

  分析

  大多数人,看到这个题目以后,心想:呵!直接调用数组的reverse()方法不就行啦。其实这的确是一种解决方案。只不过题目要求:原地修改输入数组、使用 O(1) 的额外空间。也就是说,要尽可能使用较小的内存去操作,这也是性能优化的一种尝试。

  我们想一下,其实数组的reverse()方法的最终效果是,反转一个数组,如:

  我们发现,反转以后的数组只不过是首尾对应位置颠倒了罢了,换句话说,就是位置交换,位置交换,位置交换

  那么,一说到数组的位置交换,我们会想到哪几种方式呢?

  1.使用临时变量交换, 如下:

  冒泡排序的感觉…

  2.使用ES6的解构赋值进行操作, 如下:

  通过上述方式,我们发现,既然是交换对应位置的两个元素,那么只要这两个元素的索引咱们知晓即可。在心中默念,两个元素的索引、两个元素的索引、两个…

  哎,有了,双指针啊!

  双指针方式

  我们定义两个变量,left和right,分别来表示对应的、需要交换位置的元素的、索引。然后一开始left值是0,right的值是arr.length-1。即为要交换第一个和最后一个位置的值。通过上文中交换数组位置的方式交换完毕以后,说明第一个和最后一个已经交换完成了然后就交换第二个,和倒数第二个然后继续交换第三个,和倒数第三个即为left递增,right递减但是交换总有停下来的时候(结束条件)当left等于right时(奇数项数组)或者left大于right时(偶数项数组)就不再继续交换了也就是说,只要不满足结束条件,我就继续交换位置操作换句话说,只要处在条件内,我就持续执行操作只要符合xxx条件,就继续执行操作(直到不符合条件时停下来不操作了),我们想到了while循环 奇数项数组中间位的那一项不用动,偶数项是全部两两交换一下

  代码(临时变量交换)

  代码(ES6解构交换)

  提交LeetCode结果图

  字符串指针数组赋值方式是什么_字符串指针数组赋值方式是什么意思字符串指针数组赋值方式是什么_字符串指针数组赋值方式是什么意思使用temp临时变量,速度更快,但是内存多耗费了一些使用ES6解构赋值交换位置,虽然速度慢了一点点,但是内存省下来一些了这不是重点,重点是双指针的方式

激活谷谷主为您准备了激活教程,为节约您的时间请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/95905.html

(0)
上一篇 2024年 5月 23日
下一篇 2024年 5月 24日

相关推荐

  • win10系统分区表类型mbr与guid用哪个好_装win10分区表类型mbr与guid用哪个好

    win10系统分区表类型mbr与guid用哪个好_装win10分区表类型mbr与guid用哪个好分区表类型mbr与guid用哪个好?装win10系统用mbr还是guid好?相关推荐:1、8G左右的U盘,小兵u盘启动盘制作工具(PE特点:1,绝无捆绑任何软件的启动盘。2,支持PE自动修复UEFI+GP

    激活谷笔记 2024年 5月 30日
  • p戏是什么意思_拍戏cp是什么意思

    p戏是什么意思_拍戏cp是什么意思cp是什么意思【精品多篇】【前言】cp是什么意思【精品多篇】为好范文网的会员投稿推荐,但愿对你的学习工作带来帮助。cp的意思 篇一CP是英文Coupling的缩写,日文为カップリング 或者カプ,表示人物配对关系。本意是指有恋爱关系的ACGN同人配对,近年来在其他场

    2024年 6月 1日
  • 软件技术基础实验报告总结怎么写

    软件技术基础实验报告总结怎么写实验一:线性表/栈与队一、实验目的了解实现线性表/栈与队/数组所涉及到的数据结构。二、实验要求因受时间限制,从以下给出的4个实验内容中任选3个,分析并补齐给出的源程序,运行相应的程序,检验运行结果,以此巩固对相应部分的理论知识的理解。1.复习线性表、栈与队列

    激活谷笔记 2024年 5月 17日
  • 新建word文档怎么制作表格_电脑新建里面没有word文档怎么办

    新建word文档怎么制作表格_电脑新建里面没有word文档怎么办维普查重价格、查重规则、报告说明、降重方法、常见问题汇总。维普是一个知名度较高的查重系统。它与知网数据全面性和算法一致,甚至比知网还要严格。如果你的学校定稿查重用的维普,那你真的好惨!本文主要谈谈:维普查重价格、维

    2024年 5月 9日
  • 78站长统计

    78站长统计从友盟发布的公告看,5月1日起,CNZZ将不在提供免费新建站点,5月10日后将对所有免费账号关闭服务。在长达10多年的发展中诞生过很多不同侧重的统计工具,目前市场产品较成熟的用户较多仅有百度统计、CNZZ、51la等

    激活谷笔记 2024年 5月 19日
  • overleaf怎么导出tex文件_overleaf如何导出LaTeX代码

    overleaf怎么导出tex文件_overleaf如何导出LaTeX代码Online LaTeX Editor——Overleaf使用(全网最详细过程)在Overleaf在线LaTeX编辑器中,可以使用不同的命令来排版图片,并设置列和列之间的距离。要排版图片,首先需要加载包含图片的graphicx宏包。可以

    激活谷笔记 2024年 5月 8日
  • 指针数组与数组指针的定义一致吗_指针数组与数组指针的定义一致吗

    指针数组与数组指针的定义一致吗_指针数组与数组指针的定义一致吗指针数组和数组指针的区别是什么指针数组和数组指针是两种不同类型的概念,在定义和使用上有所区别:1、指针数组是一个数组,其中的每个元素都是指针类型,而数组指针是一个指针,它指向一个数组的首地址;2、指针数组的声明方式为“type *array[]”,而数组指针的声明方式

    2024年 5月 28日
  • fh圈是什么的意思

    fh圈是什么的意思FH7是飞傲在FH圈铁耳塞产品线上推出的新旗舰,有个霸气的中文名叫做惊涛。作为新旗舰产品,FH7的外型在FH5的基础上做了优化,并配备了Spinfit的可旋转硅胶耳套,佩戴舒适性得到了大幅的提升。FH7同样也采用了圈铁搭配,单边耳塞由4颗动铁单元和1颗

    激活谷笔记 2024年 5月 17日
  • oracle数据库恢复数据到某个时间段的数据

    oracle数据库恢复数据到某个时间段的数据在当下数据为王的时代,客户的业务数据是一个企业的核心资产,各个行业客户都在不断追求在其使用的数据库上有更为强大、细粒度的数据备份恢复功能,以应对各样的数据丢失、业务逻辑错误带来的商业风险。例如,在游戏行业里,有大

    激活谷笔记 2024年 5月 18日
  • 赛车gp是什么意思_赛车gp是什么意思啊

    赛车gp是什么意思_赛车gp是什么意思啊gp是什么缩写GP的缩写有多种含义,其中包括:1、GRANDPRIX的缩写,即“格兰披治”,意为“大奖赛”、“锦标赛”。2、在厂家出一款新车后,推出的相应的GP系列指该车是公路跑车版,增强发动机性能或配置

    激活谷笔记 2024年 5月 25日
  • ddds值是什么意思_抗生素ddds值是什么意思

    ddds值是什么意思_抗生素ddds值是什么意思抗菌药物DDD值速查表抗菌药物DDD值速查表数据依据:ATC/DDD Index,抗菌药物临床应用监测网附:DDD:限定日剂量。用于主要治疗目的的成人的药物平均日剂量。DDDs:用药频度。DDDs=该药年销售总量(g)/该药的DDD值。DDDs可反映不同年度的用药动态和用药结构,

    2024年 5月 30日
  • 如何进行断点调试工作流程

    如何进行断点调试工作流程导读:在应用开发过程中,或者开发完成后,若出现执行结果不符合我们的预期时,通常需要进行一定的调试工作。但是在 Serverless 架构下,调试工作往往会受到一些环境因素限制,如所开发的应用在本地是比较健康的、且符合预期的

    激活谷笔记 2024年 5月 17日
关注微信