leetcode每日一题Day2——344. 反转字符串
✨博主:命运之光
🦄专栏:算法修炼之练气篇(C\C++版)
🍓专栏:算法修炼之筑基篇(C\C++版)
🐳专栏:算法修炼之练气篇(Python版)
✨博主的其他文章:点击进入博主的主页
前言:欢迎来到这个LeetCode每日算法题专栏!
🌊无论你是编程新手还是有一定经验的开发者,掌握算法和数据结构都是成功的关键。在这个专栏里,我将每天为你分享一道算法题,并提供简单易懂的解析和讲解。
☀️通过每日挑战,你将逐渐培养解决问题的思维方式,掌握重要的编程技巧。无论是面试准备还是日常编码,这些知识都将对你大有裨益。
🎉让我们一起开始这段充满乐趣和成长的学习之旅吧!希望你能从中受益,开拓编程的新视野!

目录
leetcode每日一题Day2——344. 反转字符串
解法一:双指针(推荐)
解法二:用动态数组来解(不推荐)
错误总结
编译错误
修正方法如下:
成功通过
我又尝试了第二种不用双指针的方法
结语
leetcode每日一题Day2——344. 反转字符串

解法一:双指针(推荐)
class Solution {
public:void reverseString(vector<char>& s) {int left = 0;int right = s.size() - 1;while (left < right) {swap(s[left], s[right]);left++;right--;}}
};
解法二:用动态数组来解(不推荐)
class Solution {
public:void reverseString(vector<char>& s) {vector<char> a;a=s;for(int i=0;i<s.size();i++){a[i]=s[s.size()-1-i];}s=a;}
};
错误总结


编译错误
Line 4: Char 14: error: array initializer must be an initializer list or string literal char a[]=s;
以上代码有一些错误。让我们逐步解析并修正它:
class Solution {
public:void reverseString(vector<char>& s) {char a[]=s; // 错误:这里使用了错误的方式来初始化一个字符数组for(int i=0;i<s.length/2;i++){swap(a[i],s[s.length-1-i]);}return a; // 错误:reverseString() 的返回类型是 void,不应该返回任何值}
};
- 错误的数组初始化方式: 在这行代码中:char a[]=s; 你试图将一个 vector<char> 类型的对象 s 直接赋值给一个字符数组 a。这种初始化方式是错误的,因为它要求用初始化列表或字符串字面值来初始化数组。vector<char> 不能直接转换为字符数组。
- 错误的返回类型: reverseString() 函数的返回类型是 void,即它不应该返回任何值。在函数签名中已经明确指定了 void,因此不需要在函数内部使用 return 语句来返回值。
修正方法如下:
class Solution {
public:void reverseString(vector<char>& s) {int left = 0;int right = s.size() - 1;while (left < right) {swap(s[left], s[right]);left++;right--;}}
};
修正后的代码中,我们使用了双指针方法来实现字符串翻转。left 指向字符串的开头,right 指向字符串的末尾,然后交换它们指向的字符,并依次向中间移动,直到 left >= right,即完成了字符串的翻转。这样就避免了数组初始化错误,并且也符合 void 返回类型的要求。
成功通过

我又尝试了第二种不用双指针的方法
class Solution {
public:void reverseString(vector<char>& s) {vector<char> a;a=s;for(int i=0;i<s.size();i++){a[i]=s[s.size()-1-i];}s=a;}
};


结语
再接再厉,继续加油!
本章的内容就到这里了,觉得对你有帮助的话就支持一下博主把~
🌌点击下方个人名片,交流会更方便哦~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
相关文章:
leetcode每日一题Day2——344. 反转字符串
✨博主:命运之光 🦄专栏:算法修炼之练气篇(C\C版) 🍓专栏:算法修炼之筑基篇(C\C版) 🐳专栏:算法修炼之练气篇(Python版) …...
ISP记1
噪声分类 空间区域 分布模型分类:Gaussian噪声、瑞利噪声、泊松噪声、乘性噪声、脉冲噪声、均匀分布噪声 频域谱波形分类:均匀分布噪声、白噪声(噪声的功率谱为参数,且与图像线性无关)1/f噪声、a f 2 f^{2} f2噪声&a…...
无线蓝牙耳机有什么值得耳机买的?几款值得买的口碑品牌盘点
蓝牙耳机是一种无线耳机,其通过蓝牙技术与其他设备进行连接,例如手机、电脑、平板电脑等。蓝牙耳机使得用户可以在不受线缆限制的情况下享受音频体验,而且还可以方便地进行通话,目前市场上有许多不同种类和品牌的蓝牙耳机…...
异步检索在 Elasticsearch 中的理论与实践
异步检索在 Elasticsearch 中的理论与实践 https://www.elastic.co/guide/en/elasticsearch/reference/8.1/async-search.html#submit-async-search 引言 Elasticsearch 是一种强大的分布式搜索和分析引擎,它能够快速地存储、搜索和分析大量数据。在处理大规模数据时…...
了解Unity编辑器之组件篇Physics 2D(十二)
一、Area Effector 2D区域施加力):用于控制区域施加力的行为 Use Collider Mask(使用碰撞器遮罩):启用后,区域施加力仅会作用于特定的碰撞器。可以使用Collider Mask属性选择要作用的碰撞器。 Collider Ma…...
[Pytorch]手写数字识别——真·手写!
Github网址:https://github.com/diaoquesang/pytorchTutorials/tree/main 本教程创建于2023/7/31,几乎所有代码都有对应的注释,帮助初学者理解dataset、dataloader、transform的封装,初步体验调参的过程,初步掌握openc…...
android studio 找不到符号类 Canvas 或者 错误: 程序包java.awt不存在
android studio开发提示 解决办法是: import android.graphics.Canvas; import android.graphics.Color; 而不是 //import java.awt.Canvas; //import java.awt.Color;...
AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)
AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储) 1. 前言2. 关于Amazon EFS2.1 Amazon EFS全称2.2 什么是Amazon EFS2.3 优点和功能2.4 参考官网 3. 创建文件系统3.1 创建 EC2 实例3.2 创建文件系统 4. 在Linux实例上挂载…...
FFmpeg 打包mediacodec 编码帧 MPEGTS
在Android平台上合成视频一般使用MediaCodec进行硬编码,使用MediaMuxer进行封装,但是因为MediaMuxer支持格式有限,一般会采用ffmpeg封装,比如监控一般使用mpeg2ts格式而非MP4,这是因为两者对帧时pts等信息封装差异导致应用场景不同…...
软件测试如何推进项目进度?
在软件研发中,有一种思想叫TDD,即测试驱动开发,TDD是敏捷方法中的一项核心实践,其原理是在开发功能代码之前,先编写单元测试用例代码,对要编写的函数或类明确测试方法后,再进行设计与编码。 本…...
首次尝试鸿蒙开发!
今天是我第一次尝试鸿蒙开发,是因为身边的学长有搞这个的,而我也觉得我也该拓宽一下技术栈! 首先配置环境,唉~真的是非常心累,下载一个DevEco Studio 3.0.0.993,然后配置环境变量这些操作不用多说ÿ…...
前端面试题-react
1 React 中 keys 的作⽤是什么? Keys 是 React ⽤于追踪哪些列表中元素被修改、被添加或者被移除的辅助标识在开发过程中,我们需要保证某个元素的 key 在其同级元素中具有唯⼀性。在 React Diff 算法中 React 会借助元素的 Key 值来判断该元素是新近创建…...
EIP-2535 Diamond standard 实用工具分享
前段时间工作对接到了这标准的协议,于是简单介绍下这个标准分享下方便前端er使用的调用工具 一、标准的诞生 在写复杂逻辑的solidity智能合约时,经常会碰到两个问题,升级和合约大小限制。 升级目前有几种proxy模式,通过delegateca…...
【LangChain】向量存储(Vector stores)
LangChain学习文档 【LangChain】向量存储(Vector stores)【LangChain】向量存储之FAISS 概要 存储和搜索非结构化数据的最常见方法之一是嵌入它并存储生成的嵌入向量,然后在查询时嵌入非结构化查询并检索与嵌入查询“最相似”的嵌入向量。向量存储负责存储嵌入数…...
Debian/Ubuntu 安装 Chrome 和 Chrome Driver 并使用 selenium 自动化测试
截至目前,Chrome 仍是最好用的浏览器,没有之一。Chrome 不仅是日常使用的利器,通过 Chrome Driver 驱动和 selenium 等工具包,在执行自动任务中也是一绝。相信大家对 selenium 在 Windows 的配置使用已经有所了解了,下…...
[SQL挖掘机] - 窗口函数 - 合计: with rollup
介绍: 在sql中,with rollup 是一种用于在查询结果中生成小计和总计的选项。它可以与 group by 子句一起使用,用于在分组查询的结果中添加附加行。 with rollup 的作用是为每个指定的分组列生成小计,并在最后添加一行总计。这样,…...
远程控制平台一之推拉流的实现
确定框架 在选用推拉流框架的时候,有了解过nginx+rtmp/rtsp,Janus,以及其他开源的推拉流框架,要么是延迟严重(延迟一分多钟),要么配置复杂,而且这些框架对于只是转发远程画面这个简单需求来说,过于庞大了。机缘巧合之下,我了解到了一个简单易用的框架,就是ZeroMQ的…...
RTT(RT-Thread)线程管理(1.2W字详细讲解)
目录 RTT线程管理 线程管理特点 线程工作机制 线程控制块 线程属性 线程状态之间切换 线程相关操作 创建和删除线程 创建线程 删除线程 动态创建线程实例 启动线程 初始化和脱离线程 初始化线程 脱离线程 静态创建线程实例 线程辅助函数 获得当前线程 让出处…...
你真的会自动化吗?Web自动化测试-PO模式实战,一文通透...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 PO模式 Page Obj…...
C# 使用堆栈实现队列
232 使用堆栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(、、、):pushpoppeekempty 实现 类:MyQueue void push(int x)将元素 x 推到队列的末尾 int pop()从队列的开头移除并返回元素 in…...
汽车电源管理系统:同步降压转换器与LDO设计解析
1. 汽车电源管理系统概述在汽车电子系统中,电源管理单元(PMU)扮演着至关重要的角色。现代车辆中,电子控制单元(ECU)数量已超过100个,从发动机控制模块到信息娱乐系统,每个子系统都需要稳定可靠的电源供应。汽车电源环境具有独特的…...
风冷热泵中央空调系统安装:从冷热源到末端联动的完整解析
一、什么是风冷热泵中央空调系统安装?风冷热泵中央空调系统安装,是指在办公楼、商业综合体、酒店、学校、医院、厂房办公区、实验室、园区配套建筑以及各类中小型公共建筑中,根据建筑冷热负荷、使用时段、空间功能和节能要求,对风…...
基于Docker Compose的容器化数据抓取平台OpenClaw部署与实战
1. 项目概述:一个容器化的开源自动化抓取与处理平台最近在折腾一些数据采集和自动化处理的工作流,发现一个挺有意思的项目:alexleach/openclaw-compose。光看名字,openclaw直译是“开放之爪”,compose则明确指向了 Doc…...
从方程到应用:激光雷达核心参数与激光器选型指南
1. 激光雷达方程:从数学公式到物理意义 第一次接触激光雷达方程时,我也被那一堆希腊字母和下标搞得头晕眼花。但后来发现,这个看似复杂的方程其实就像买菜算账一样简单直白。激光雷达方程本质上是个"能量收支平衡表",它…...
用STM32F103C8T6驱动Ra-01SC模组:从接线到收发数据的保姆级避坑指南
STM32F103C8T6与Ra-01SC模组实战:从硬件搭建到数据收发的完整解决方案 1. 项目准备与环境搭建 第一次接触LoRa通信时,我拿着两块Ra-01SC模组和STM32开发板,满心期待能快速实现无线数据传输。但现实很快给我上了一课——接线错误导致模组发热、…...
终极React Native Navigation VR应用开发指南:打造沉浸式虚拟环境和菜单导航体验
终极React Native Navigation VR应用开发指南:打造沉浸式虚拟环境和菜单导航体验 【免费下载链接】react-native-navigation A complete native navigation solution for React Native 项目地址: https://gitcode.com/gh_mirrors/re/react-native-navigation …...
免费Windows风扇控制神器:FanControl让你的电脑静音又凉爽
免费Windows风扇控制神器:FanControl让你的电脑静音又凉爽 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendin…...
5分钟学会用ASCII字符绘制专业流程图:告别复杂设计软件
5分钟学会用ASCII字符绘制专业流程图:告别复杂设计软件 【免费下载链接】asciiflow ASCIIFlow 项目地址: https://gitcode.com/gh_mirrors/as/asciiflow 你是否曾为绘制简单的流程图而打开臃肿的设计软件?或者需要在代码注释中嵌入清晰的流程说明…...
RT1064驱动ICM42605避坑指南:从SPI配置到数据转换,新手也能搞定的IMU实战
RT1064与ICM42605传感器深度开发实战:从硬件连接到数据处理的完整指南 在智能车和机器人竞赛中,精确的姿态感知系统往往是决定胜负的关键因素。恩智浦RT1064微控制器搭配TDK ICM42605六轴惯性测量单元(IMU)的方案,因其出色的性能和合理的成本…...
什么是大模型:概念、分类与当前主流模型全梳理
什么是大模型? 大模型,通常指的是参数规模很大、训练数据很多、具备较强通用能力的人工智能模型。它之所以叫“大”,通常体现在几个方面: 第一,参数量大。 从早期的几千万、几亿参数,发展到几十亿、上百亿&…...
