字符串 反转函数reverse() 的错误用法

回文字符串


题目描述

如果一个字符串逆序后与正序相同,那么称这个字符串为回文字符串。例如abcba是回文字符串,abcca不是回文字符串。

给定一个字符串,判断它是否是回文字符串。

输入描述

一个非空字符串(长度不超过 50,仅由小写字母组成)。

输出描述

如果是回文字符串,那么输出YES,否则输出NO

样例1

输入

abcba

输出

YES

样例2

输入

abcca

输出

NO

错误代码示例:

#include <bits/stdc++.h>
using namespace std;int main()
{string s;cin>>s;if(reverse(s.begin(), s.end()) == s){cout<<"YES";}else{cout<<"NO";}return 0;
}//
#include <bits/stdc++.h>
using namespace std;int main()
{string s;cin>>s;string s1 = reverse(s.begin(), s.end());if(s1 == s){cout<<"YES";}else{cout<<"NO";}return 0;
}
 二
#include <bits/stdc++.h>
using namespace std;int main()
{string s;cin>>s;string s1 = s;if(reverse(s1.begin(), s1.end()) == s){cout<<"YES";}else{cout<<"NO";}return 0;
}

正确示例:

#include <bits/stdc++.h>
using namespace std;int main()
{string s;cin >> s;string s1 = s;                // 复制一份 sreverse(s1.begin(), s1.end()); // 反转 s1if (s1 == s) {                // 比较反转后的字符串和原始字符串cout << "YES";} else {cout << "NO";}return 0;
}

总结:

  • reverse 是一个原地修改的函数,返回值是 void,不能直接用于比较,也不能用于赋值。
  • reverse 是标准库中的一个函数,但它是一个 原地修改 的函数,即它会直接修改传入的迭代器范围内的元素,而不是返回一个新的字符串。

  • 因此,reverse(s.begin(), s.end()) 会直接反转 s 的内容,而不是返回一个新的反转后的字符串。

  • 代码中试图将 reverse 的返回值赋值给 s1,但 reverse 的返回值是 void,所以这行代码会编译失败。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#程序加密与解密Demo程序示例

目录 一、加密程序功能介绍 1、加密用途 2、功能 3、程序说明 4、加密过程 5、授权的注册文件保存方式 二、加密程序使用步骤 1、步骤一 ​编辑2、步骤二 3、步骤三 4、步骤四 三、核心代码说明 1、获取电脑CPU 信息 2、获取硬盘卷标号 3、机器码生成 3、 生成…

专题二串联所有单词的子串

1.题目 题目分析&#xff1a; 有一个字符串s和字符串数组&#xff0c;如何字符串数组里面的元素可以组成一个字符串&#xff0c;然后要在字符串里面找到连续子串跟组成的字符串一样&#xff0c;返回起始地址。 2.算法原理 这道题可以把字符串数组的元素string看出char&#x…

scala类型检测和转换

在scala中关于类型的检测的api一共有以下三个&#xff1a; &#xff08;1&#xff09;obj.isInstanceOf[T]&#xff1a;判断 obj 是不是 T 类型。 &#xff08;2&#xff09;obj.asInstanceOf[T]&#xff1a;将 obj 强转成 T 类型。 &#xff08;3&#xff09;classOf[T]&am…

【论文阅读】VAD: Vectorized Scene Representation for Efficient Autonomous Driving

一、介绍 VAD是华科团队设计的一个端到端无人驾驶框架&#xff0c;针对传统的无人驾驶框架的模块化设计的问题&#xff0c;该算法使用向量化的策略进行了端到端的实现。传统的模块化设计使得感知模块完全依赖于感知模块的计算结果&#xff0c;这一解耦实际上从规划模块的角度损…

探索Java多线程的核心概念与实践技巧,带你从入门到精通!

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 今天我们来学习多线程编程-"掌握线程创建、管理与安全"&#xff1a; 上一节课程我们铺垫了一系列的东西&#xff0c;引出来了我们的多…

互动多媒体项目 自行车互动

该项目为UE4 +自行车骑行速度 互动项目 结果预览 : 1. 获取自行车速度 这里使用的是Arduino单片机 + 霍尔传感器 霍尔传感器: 单片机完整代码: #define HALL_PIN 2 // 霍尔传感器连接到D2(中断引脚) volatile unsigned long lastTime = 0; // …

STM32——GPIO介绍

GPIO(General-Purpose IO ports,通用输入/输出接口)模块是STM32的外设接口的核心部分,用于感知外界信号(输入模式)和控制外部设备(输出模式),支持多种工作模式和配置选项。 1、GPIO 基本结构 STM32F407 的每个 GPIO 引脚均可独立配置,主要特性包括: 9 组 GPIO 端口…

学习笔记:Python网络编程初探之基本概念(一)

一、网络目的 让你设备上的数据和其他设备上进行共享&#xff0c;使用网络能够把多方链接在一起&#xff0c;然后可以进行数据传递。 网络编程就是&#xff0c;让在不同的电脑上的软件能够进行数据传递&#xff0c;即进程之间的通信。 二、IP地址的作用 用来标记唯一一台电脑…

DeepSeek 医疗大模型微调实战讨论版(第一部分)

DeepSeek医疗大模型微调实战指南第一部分 DeepSeek 作为一款具有独特优势的大模型,在医疗领域展现出了巨大的应用潜力。它采用了先进的混合专家架构(MoE),能够根据输入数据的特性选择性激活部分专家,避免了不必要的计算,极大地提高了计算效率和模型精度 。这种架构使得 …

JetBrains学生申请

目录 JetBrains学生免费授权申请 IDEA安装与使用 第一个JAVA代码 1.利用txt文件和cmd命令运行 2.使用IDEA新建项目 JetBrains学生免费授权申请 本教程采用学生校园邮箱申请&#xff0c;所以要先去自己的学校申请校园邮箱。 进入JetBrains官网 点击立即申请&#xff0c;然…

LINUX网络基础 [五] - HTTP协议

目录 HTTP协议 预备知识 认识 URL 认识 urlencode 和 urldecode HTTP协议格式 HTTP请求协议格式 HTTP响应协议格式 HTTP的方法 HTTP的状态码 ​编辑HTTP常见Header HTTP实现代码 HttpServer.hpp HttpServer.cpp Socket.hpp log.hpp Makefile Web根目录 H…

六十天前端强化训练之第八天到第十四天——综合案例:用户管理系统

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、知识体系详解 1. 变量与作用域 2. 箭头函数特性 3. 数组高阶函数 4. DOM操作原理 5. 事件传播机制 6. 闭包核心原理 7. 原型继承体系 8. Promise工作流程 二、综…

技术周总结 03.03 - 03.09 周日(Java监控 SpringAI)

文章目录 一、03.05 周三二、03.08 周六openAI 的Spring开发 一、03.05 周三 jvisualvm java自带的监控和故障排除工具 命令行执行后&#xff0c;会出现 JConsole 二、03.08 周六 openAI 的Spring开发 引入 spring-ai-openai-spirng-boot-starter 依赖 Spring AI http…

DeepSeek:中国AGI破局者的技术革命与生态重构

在AI领域被"算力霸权"与"技术垄断"笼罩的今天&#xff0c;一家来自杭州的初创公司正以颠覆性创新撕开行业铁幕。DeepSeek&#xff08;深度求索&#xff09;不仅重新定义了AGI技术研发范式&#xff0c;更通过开源生态构建引发全球AI产业格局的深度重构。 一…

manus本地部署使用体验

manus部署 https://github.com/mannaandpoem/OpenManus git clone https://github.com/mannaandpoem/OpenManus.git 或者手工下载zip包解压&#xff0c;包很小&#xff0c;只有几百K。 cd OpenManus-main #创建python环境&#xff0c;有python3的可以用python3 python -m ven…

【统计至简】【入门测试1】给定数据矩阵X,如何求其质心、中心化数据、标准化数据、格拉姆矩阵、协方差矩阵、相关系数矩阵

给定数据矩阵X&#xff0c;如何求其质心、中心化数据、标准化数据、格拉姆矩阵、协方差矩阵、相关系数矩阵。   设数据矩阵 X X X是一个 n p n\times p np的矩阵&#xff0c;其中 n n n是样本数量&#xff0c; p p p是变量数量&#xff0c; X ( x i j ) X (x_{ij}) X(xij​…

CI/CD—Jenkins、Maven安装

Jenkins简介 Jenkins 是一款广泛使用的开源持续集成和持续交付&#xff08;CI/CD&#xff09;工具&#xff0c;以下是对它的详细介绍&#xff1a; 基本信息 起源与发展&#xff1a;Jenkins 最早起源于 Hudson 项目&#xff0c;后来从 Hudson 项目中分离出来独立发展。自 2011 …

抽奖系统测试报告

项目链接: 管理员登录页面 项目功能: 管理员登录: 登录方式分为两种: 手机号密码登录: 正确输入密码和手机号登录 短信验证码登录: 输入手机号,等待验证码,输入验证码登录 管理员注册: 登录页面点击注册按钮即可注册管理员身份 人员管理模块: 人员管理模块分为注册…

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台 文章目录 准备工作连接设备RTMP概念ENCSHV2推流地址设置大疆Pocket 3直播设置总结 老铁们好&#xff01; 很久没写软文了&#xff0c;今天给大家带了一个干货&#xff0c;如上图&#xff0c;大疆Pocket 3加ENC编…

【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Servlet 与 JSP 的协作:MVC 模式的雏形

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Servl…