判断字符串回文----每日一题

大家好我是Beilef,今天分享的是字符串回文。魂影大家在评论区留言。O(∩_∩)O

文章目录

  • 目录

    文章目录

    题目重现:

    题⽬描述: 输⼊⼀个字符串,判断这个字符串是否是回⽂字符串(字符串的⻓度⼩于等于30,字符串不包含空 格),如果是回⽂字符串输出Yes,如果不是回⽂字符串输出No。

    一、题目解析

    我们需要⾸先理解,回⽂字符串的特征: 1. ⾸位与末位相等; 2. 第⼆位与倒数第⼆位相等; 3. ... 4. 最中间的两位相等,或者字符串⻓度为奇数时,中间字符不影响结果。 因此,我们可以定义两个指针,分别指向字符串的⾸位和末位,对其进⾏判断是否相等。若相等,则 将两个指针相向移动⼀位,继续判断剩余字符。如果不相等,直接返回 0,表⽰字符串不是回⽂串。 直⾄两个指针的相对位置发⽣变化时结束操作,最终返回 1,表⽰字符串是回⽂串。

    二、代码实现

    1.代码演示

    2.结果展示

    总结



题目重现:

题⽬描述: 输⼊⼀个字符串,判断这个字符串是否是回⽂字符串(字符串的⻓度⼩于等于30,字符串不包含空 格),如果是回⽂字符串输出Yes,如果不是回⽂字符串输出No。


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目解析

我们需要⾸先理解,回⽂字符串的特征: 1. ⾸位与末位相等; 2. 第⼆位与倒数第⼆位相等; 3. ... 4. 最中间的两位相等,或者字符串⻓度为奇数时,中间字符不影响结果。 因此,我们可以定义两个指针,分别指向字符串的⾸位和末位,对其进⾏判断是否相等。若相等,则 将两个指针相向移动⼀位,继续判断剩余字符。如果不相等,直接返回 0,表⽰字符串不是回⽂串。 直⾄两个指针的相对位置发⽣变化时结束操作,最终返回 1,表⽰字符串是回⽂串。


二、代码实现

1.代码演示

代码如下(示例):

i
#define _CRT_SECURE_NO_WARNINGS//防止vs使用scanf这种函数会出错
#include <stdio.h>
#include <string.h>//使用strlen函数必须包含的头文件
int is_palindrome_string(char* arr)
{int n = strlen(arr);char* left = arr;char* rintf = arr + n - 1;while (left < rintf){if (*left != *rintf)//使用两个指针分别于开头和结尾的元素地址对应{return 0;left++;rintf--;}elsereturn 1;}
}
int main()
{printf("请输入你的字符串:\n");//left   rintfchar arr[30] = { 0 };scanf("%s", arr);int x=is_palindrome_string(arr);if (x != 0)printf("yes");elseprintf("no");return 0;
}

2.结果展示


总结

感谢大家的观看,不对的地方请留言,谢谢大家的斧正O(∩_∩)O。我会加油的

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

DAY3C++

定义一个Person类&#xff0c;包含私有成员&#xff0c;int *age&#xff0c;string &name&#xff0c;一个Stu类&#xff0c;包含私有成员double *score&#xff0c;Person p1&#xff0c;写出Person类和Stu类的特殊成员函数&#xff0c;并写一个Stu的show函数&#xff0c…

GitHub Copilot 终极详细介绍

编写代码通常是一项乏味且耗时的任务。现代开发人员一直在寻找新的方法来提高编程的生产力、准确性和效率。 像 GitHub Copilot 这样的自动代码生成工具可以使这成为可能。 GitHub Copilot 到底是什么&#xff1f; GitHub Copilot 于 2021 年 10 月推出&#xff0c;是 GitHub 的…

全国行政区划数据集(2011-2020年)

全国行政区划数据集&#xff08;2011-2020年&#xff09; 行政区划数据是基础地理信息数据&#xff0c;是按各国行政单元进行的地理划分。不同国家的行政级别称呼不同&#xff0c;例如某些国家称第一级行政单位为省&#xff0c;某一些国家称之为州等。 该数据集整理了2011-202…

C语言字符串知识点和算法总结

目录 一、字符串遍历 1、字符串和字符数组 2、获取字符串长度 3、字符串遍历 4、大小写转换 5、字符串数组 二、字符串拷贝 三、字符串比较 四、字符串分割 五、字符串翻转 1、题目详解 2、算法详解 3、源码剖析 六、回文串 1、定义 2、例题讲解 3、算法详解 …

BIT-666 的 2023 年度总结

<<< 年度总结 >>> <<< 年度数据 >>> ◆ 发博情况 ◆ 学习成就 ◆ 代码提交 ◆ 博文表现 <<< 年度创作 >>> ◆ LLM - LLaMA2 <<< 年度风景 >>> ◆ 春 - 中关村软件园 - 百望山 ◆ 夏 - 乌兰…

Mac 一步解决错误 sed: RE error: illegal byte sequence

Mac 一步解决错误 sed: RE error: illegal byte sequence 运行shell脚本提示 sed: RE error: illegal byte sequence 打开脚本文件, 将sed 批量替换成LC_CTYPEC sed即可

Mini MyBatis-Plus(下)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 最核心的内容前两篇已经…

V8提升对象属性访问速度---快属性和慢属性

V8提升对象属性访问速度—快属性和慢属性 在 JavaScript 中&#xff0c;对象就像一个字典&#xff0c;可以使用字符串作为键名&#xff0c;任意对象作为键值。早期的实现方式是使用字典来存储对象的属性。 字典是非线性的数据结构&#xff0c;查询效率会低于线性的数据结构&a…

ssm基于JAVA的学生在线考试系统+vue论文

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统考试信息管理难度大&#xff0c;容错率低&#xff0c;管理…

flutter学习-day23-使用extended_image处理图片的加载和操作

文章目录 1. 介绍2. 属性介绍3. 使用 1. 介绍 在 Flutter 的开发过程中&#xff0c;经常会遇到图片的显示和加载处理&#xff0c;通常显示一个图片&#xff0c;都有很多细节需要处理&#xff0c;比如图片的加载、缓存、错误处理、图片的压缩、图片的格式转换等&#xff0c;如果…

数字化转型:从数据资产到旅程指标

很多面临数字化转型的企业都在关注数据资产和旅程指标。在数字化转型之后&#xff0c;一个常见问题就是数据暴涨。从传统渠道扩展到 APP、小程序等线上化渠道之后&#xff0c;公司会面临 5 倍、10 倍甚至几十倍的数据增长。除了带来技术架构的挑战&#xff0c;还会带来数据资产…

设计模式(4)--对象行为(7)--观察者

1. 意图 定义对象间的一种一对多的依赖关系&#xff0c; 当一个对象的状态改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 2. 四种角色 抽象目标(Subject)、具体目标(Concrete Subject)、抽象观察者(Observer)、 具体观察者(Concrete Observer) 3. 优点 3.1 …

《Spring Cloud学习笔记:Nacos配置管理 OpenFeign LoadBalancer Getway》

基于Feign的声明式远程调用&#xff08;代码更优雅&#xff09;&#xff0c;用它来去代替我们之前的RestTemplate方式的远程调用 1. Nacos配置管理&#xff1a;Nacos Config 服务配置中心介绍 首先我们来看一下,微服务架构下关于配置文件的一些问题&#xff1a; 配置文件相…

Netty—Reactor线程模型详解

文章目录 前言线程模型基本介绍线程模型分类Reactor线程模型介绍Netty线程模型&#xff1a; 传统阻塞IO的缺点Reactor线程模型单Reactor单线程模式单Reactor多线程模式主从Reactor多线程Reactor 模式小结 Netty 线程模型案例说明&#xff1a;Netty核心组件简介ChannelPipeline与…

记一次接口交互is开头的属性序列化后“is”丢失问题

问题背景&#xff1a; 今天在做项目联调时调用别人的第三方接口时&#xff0c;发现字段传递不对导致参数传递异常的问题&#xff0c;当时还很奇怪&#xff0c;明白传好着呢&#xff0c;怎么就好端端的出现字段不对的情况呢&#xff1f; 查看发现该字段为boolean类型的isIsRef…

node fs模块读取文件 readFile、readFileSync、fsPromises.readFile、createReadStream

文章目录 1.读取文件1.1 readFile1.2 readFileSync1.3 fsPromises.readFile&#xff1a;promise的写法1.4 fs.createReadStream 1.读取文件 readFile&#xff1a;异步读取文件readFileSync&#xff1a;同步读取文件fsPromises.readFile&#xff1a;promise的写法 需要注意的是…

vue data变量不能以“_”开头,否则会产生很多怪异问题

1、 比如给子组件赋值&#xff0c;子组件无法得到这个值&#xff08;也不是一直无法得到&#xff0c;设置后this.$forceUpdate() 居然可以得到&#xff09;&#xff0c; 更无法watch到 <zizujian :config"_config1"> </zizujian>this._config1 { ...…

【微服务核心】MyBatis Plus

MyBatis Plus 文章目录 MyBatis Plus1. 简介2. 入门使用3. 核心功能3.1 CRUD 接口3.1.1 Mapper CRUD 接口3.1.2 Service CRUD 接口 3.2 条件构造器3.3 分页插件3.4 Mybatis-Plus 注解 4. 拓展4.1 逻辑删除4.2 MybatisX快速开发插件 5. 插件5.1 [分页插件](#page)5.2 乐观锁插件…

如何从RTP包的AP类型包,获取h265的PPS、SPS、VPS信息

ffmpeg播放rtp流&#xff0c;为了降低首开延迟&#xff0c;需要在SDP文件中指定PPS、SPS、VPS信息。抓包后发现wireshark无法解析AP包。需要自己进行AP包解析。RTP协议AP包格式如下&#xff1a; 根据如上信息&#xff0c;我们可以解析AP包&#xff0c;效果如下 40 01&#xff…

Windows上安装NodeJs

Windows上安装NodeJs 一、操作环境 操作系统: Windows 10 专业版 SDK:NodeJs v16.19.1&#xff08;安装鸿蒙IDE自动安装的NodeJs&#xff09; 二、安装过程 2.1下载Node.js安装包 官网下载地址&#xff1a; 下载历史版本安装也可 2.2 双击下载好的安装文件 2.3 打开下载…