计蒜客T3364 蒜头君的回文串(C++语言实现)

【题目描述】回文串,是指顺着读和倒着读顺序一样的字符串,比如说abccba就是一个回文串。而abc不是回文串,因为abc倒着读是cba。在这里,我们只考虑字母和数字,比如说abccb a,为一个回文串(因为我们忽略了和空格),同时,我们忽略大小写,比如说Aba,我们也认为它是一个回文串。现在蒜头君有一个字符串,需要聪明的你帮忙判断这个字符串是不是回文串。
【输入格式】输入一个字符串s,长度为n。
【输出格式】如果字符串s为回文串,输出true,否则输出false。
【C语言实现】

# include <iostream>
int main()
{std::string s; // 输入字符串s
//    std::cin >> s; // 这个行不通,因为遇到空格就停止输入了getline(std::cin, s); // 这样可以读包含空格的字符串
//     std::cout << "s = " << s << std::endl;std::string r; // 字符串r中只含有小写字母和数字for (int i = 0; i < s.length(); ++i) {if (isdigit(s[i]) || islower(s[i])) { // 数字或者小写字母是符合要求的r.push_back(s[i]); // 插入到字符串r} else if (isupper(s[i])) { // 大写字母要转成对应的小写字母r.push_back(s[i] + 32); // 插入到字符串r}}int flg = 1; // flg标记是否是回文串,初始值为1for (int i = 0, j = r.length() - 1; i < j; ++i, --j) { // 左右两侧双指针移动if (r[i] != r[j]) { // 不相等,一定不是回文串flg = 0; // 修改flg标记为0break; // 退出循环}}if (flg) { // 是回文串,输出truestd::cout << "true";} else { // 不是回文串,输出falsestd::cout << "false";}return 0;
}

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

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

相关文章

飞天使-django之数据库简介

文章目录 增删改查解决数据库不能存储中文问题创建表数据类型表的基本操作主键唯一键 unique外键实战 增删改查 四个常用的语句查询 : insert delete update select insert into student(Sno,name) values(95001,"张三") delete from student where name张三 upda…

ubuntu22.04换源

1、系统信息 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy2、进入 /etc/apt/ 目录&#xff1a; cd /etc/apt/ 3、备份默认源文件 sudo cp sources.list sources.list_bak 4、编…

Flink之KeyedState

前面的文章中介绍过Operator State,这里介绍一下Keyed State. 在使用Operator State时必须要实现CheckpointFunction接口,而Keyed State则不需要,在使用keyBy(...)分组分组后,调用的函数必须是实现RichFuntion接口的函数才可以使用Keyed State.同样使用Keyed State也必须开启Ch…

九、Linux用户管理

1.基本介绍 Linux系统是一个多用户多任务的操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员申请一个账号&#xff0c;让后以这个账号的身份进入系统 2.添加用户 基本语法 useradd 用户名 应用案例 案例1&#xff1a;添加一个用户 m…

Vue中的watch的使用

先看下Vue运行机制图 那么我们思考一件事&#xff0c;vue是通过watcher监听数据的变化然后给发布-订阅&#xff0c;这样实现了dom的渲染&#xff0c;那么我们思考一件事&#xff0c;我们往往需要知道一个数据的变化然后给页面相应的渲染&#xff0c;那么我们工作中在组件中的数…

可拖动、可靠边的 popupWindow 实现

0 背景 开发要实现一个可以拖动的圆角小窗&#xff0c;要求松手时&#xff0c;哪边近些靠哪边。并且还规定了拖动范围。样式如下&#xff1a; 1 实现 首先把 PopupWindow 的布局文件 pop.xml 实现 <?xml version"1.0" encoding"utf-8"?> <R…

抽象工厂模式-C++实现

抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一种在不指定具体产品类的情况下创建一系列相关或依赖对象的方法。 抽象工厂模式分为四个角色&#xff1a;抽象工厂、具体工厂、抽象产品、具体产品。 抽象工厂和工厂方法其实很类似&#xff0c;但也有一定的区别&#…

7.22 SpringBoot项目实战【收藏 和 取消收藏】

文章目录 前言一、编写控制器二、编写服务层三、Postman测试最后前言 本系统还支持 收藏图书,就是对心仪的书加一下收藏,大家都懂,这是一个很常见的功能。 那么我们来看看怎么来做,先分析一下:【一个人】对【一本书】只需【收藏一次】,但可以【收藏N本】不同的书,收藏…

【Java并发编程六】多线程越界问题

ArrayList()越界错误 import java.util.ArrayList; public class myTest implements Runnable {static ArrayList<Integer> a new ArrayList<>(10);public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(new myTest());T…

Mac M1 M1 pro安装 protobuf 2.5.0

因为项目中的protobuf是2.5.0版本&#xff0c;但是旧版本的protobuf 不支持M1&#xff0c;此时需要修改源码重新编译 操作步骤&#xff1a; 从git上面下载对应版本的protobuf&#xff0c;地址&#xff1a;Release Protocol Buffers v2.5.0 protocolbuffers/protobuf GitHub…

深度学习之基于YoloV5苹果新鲜程度检测识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 深度学习之基于 YOLOv5 苹果新鲜程度检测识别系统介绍YOLOv5 简介苹果新鲜程度检测系统系统架构应用场景 二、功能三、系统四. 总结 一项目简介 深度学习之…

三十一、W5100S/W5500+RP2040树莓派Pico<TCP_Server多路socket>

文章目录 1 前言2 简介2. 1 使用多路socket的优点2.2 多路socket数据交互原理2.3 多路socket应用场景 3 WIZnet以太网芯片4 多路socket设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 W5100S/W5500是一…

c#字符串

字符串比较 namespace demo1 {internal class progrm{static void Main(string[] args){string str "hello world";Console.WriteLine("大写字符{0}",str.ToUpper());Console.WriteLine("小写字符{0}",str.ToLower());Console.WriteLine("…

GitHub如何删除仓库

GitHub如何删除仓库 删除方法第一步第二步第三步 删除方法 第一步 在仓库的界面选择Settings 第二步 选择General,页面拉到最后。 第三步 删除仓库。

C++ 虚函数和多态性

虚函数和多态性 派生类中与基类重名的成员 如果派生类的成员与基类的成员重名&#xff0c;则派生类的成员将隐藏同名的基类成员。 /*正方形类&#xff0c;基类*/ class Square { protected:double L; public:Square() :L{ 4 } {};Square(double a) :L{ a } {}double GetArea…

C#密封类、偏类

C#密封类 在C#中&#xff0c;密封类&#xff08;Sealed Class&#xff09;是一种特殊的类&#xff0c;它阻止其他类继承它。你可以通过在类定义前面加上 sealed 关键字来创建一个密封类。 以下是一个密封类的例子&#xff1a; public sealed class MyClass {// Class member…

【Redis】zset常用命令集合间操作内部编码使用场景

文章目录 前置知识列表、集合、有序集合三者的异同点 普通命令ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZPOPMAXBZPOPMAXZPOPMINBZPOPMINZRANKZREVRANKZSCOREZREMZREMRANGEBYRANKZREMRANGEBYSCOREZINCRBY 集合之间的操作ZINTERSTOREZUNIONSTORE 命令小结内部编码测试内部编…

PyTorch 成功安装验证

一、确认PyTorch版本 安装PyTorch之后&#xff0c;可以运行以下代码来确认PyTorch的版本&#xff1a; import torchprint(torch.__version__)如果没有报错&#xff0c;同时输出了正确版本号&#xff0c;就说明PyTorch已经成功安装了。 二、测试PyTorch基础功能 为了确保PyT…

C/C++---------------LeetCode第LCR. 024.反转链表

反转链表 题目及要求双指针 题目及要求 双指针 思路&#xff1a;遍历链表&#xff0c;并在访问各节点时修改 next 引用指向&#xff0c;首先&#xff0c;检查链表是否为空或者只有一个节点&#xff0c;如果是的话直接返回原始的头节点&#xff0c;然后使用三个指针来迭代整个…

DHCP配置命令

排除IP地址或IP范围&#xff08;保留&#xff09;&#xff1a; Switch(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.10 为地址池取名&#xff1a; Switch(config)#ip dhcp pool name 分配地址范围&#xff1a; Switch(dhcp-config)#network 192.168.10.0 2…