【C++ OJ练习】6.验证回文串

news2024/9/22 13:37:07

1.题目链接

力扣

2.解题思路

字母全部要变成小写 并且不能管空格和标点 这样从前和后分别遍历并进行比较 如果遇到不是相同

字符的话 说明不是回文串 就这样一直往下走 直到最后两下标相遇 那么就是回文串 注意双循环条件

3.代码

class Solution {
public:
	//除去标点和空格
	bool isCharOrNumber(char ch)
	{
		if ((ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9'))
			return true;
		else
			return false;
	}
	bool isPalindrome(string s) {
		//将字符串中所有大写转成小写
		for (auto& ch : s)//无引用的话是赋值 想真正改变s里面的字符 用别名
		{
			if (ch >= 'A' && ch <= 'Z')
			{
				ch += 32;
			}
		}
		int begin = 0;
		int end = s.size() - 1;
		while (begin < end)
		{
			while (begin < end && !isCharOrNumber(s[begin]))//防止越界
				++begin;
			while (begin < end && !isCharOrNumber(s[end]))
				--end;
			//有不相等就return false
			if (s[begin] != s[end])
				return false;
			//相等就接着往下走
			else
			{
				++begin;
				--end;
			}
		}
		return true;
	}
};

4.运行结果

【C++ OJ练习】6.验证回文串 完 

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

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

相关文章

【如何在深度学习的道路上越走越远?——《深度学习模式与实践》】

作为近几年人工智能领域的主要研究方向之一&#xff0c;深度学习主要通过构建深度卷积神经网络和采用大量样本数据作为输入&#xff0c;最终得到一个具有强大分析能力和识别能力的模型。深度学习可以是有监督的、半监督的或无监督的。深度学习架构(例如深度神经网络、深度信念网…

Docker查看相关存储信息以及扩容

Docker查看相关存储信息以及扩容 &#xff08;mac环境&#xff09; 查看docker基本信息&#xff1a; docker info可以看到docker的存储位置在这里 2. 查看mac的所有盘以及分区大小情况 diskutil listdocker查看网络信息&#xff1a; docker ps # 查看所有在运行的container信…

Zabbix——监控模板

方法二&#xff1a;自定义监控模板 案例&#xff1a;自定义监控客户端服务器登录的人数 需求&#xff1a;监控客户端的登录人数&#xff0c;超过 3 个就发出报警信息 1&#xff09;在客户端创建自定义 key #在客户端创建自定义 key1.明确需要执行的 linux 命令who | wc -l​…

分类分级一小步,数据安全一大步

启明星辰集团凭借自身在数据安全治理管控的技术优势及各类数据安全治理项目的经验积累&#xff0c;以数据安全治理管控平台&#xff08;DSMP&#xff09;为基础&#xff0c;定制研发出数据分类分级系统&#xff0c;它是一款面向数据对象&#xff0c;可实现数据自动化分类分级的…

计算机视觉中的感受野

一、感受野的定义 感受野&#xff08; R e c e p t i v e Receptive Receptive F i e l d Field Field&#xff09;的定义是卷积神经网络每一层输出的特征图&#xff08; f e a t u r e feature feature m a p map map&#xff09;上的像素点在原始输入图片上映射的区域大小…

4.10 x64dbg 反汇编功能的封装

LyScript 插件提供的反汇编系列函数虽然能够实现基本的反汇编功能&#xff0c;但在实际使用中&#xff0c;可能会遇到一些更为复杂的需求&#xff0c;此时就需要根据自身需要进行二次开发&#xff0c;以实现更加高级的功能。本章将继续深入探索反汇编功能&#xff0c;并将介绍如…

redis缓存简介

1、为什么使用redis 分析:博主觉得在项目中使用redis&#xff0c;主要是从两个角度去考虑:性能和并发。当然&#xff0c;redis还具备可以做分布式锁等其他功能&#xff0c;但是如果只是为了分布式锁这些其他功能&#xff0c;完全还有其他中间件(如zookpeer等)代替&#xff0c;并…

中国地图数据可视化制作,python的pyecharts模块读取excel可视化,

数据格式如下&#xff1a; import pandas as pd from pyecharts import options as opts from pyecharts.charts import Map from pyecharts.globals import ChartType# 读取Excel数据 data pd.read_excel(C:\\Users\\Administrator\\Desktop\\国内数据.xlsx)# 创建地图实例 m…

C语言itoa转化为二进制

C语言itoa函数常常用于把整型转换为字符数组&#xff1b;最常用的是十进制的转换&#xff1b; 也可以用于获取一个数的二进制&#xff1b; 在C语言中 3&51&#xff1b;&是按位与&#xff1b; 先输出3&5&#xff1b; 再分别输出3和5的二进制看一下&#xff1b; …

Shader 基础之 Unity Shader概念

目录 目录 Shader compilation Conditionals in shaders Different types of conditionals Switch code branch at runtime Branching in shaders Static branching How to use static branching Dynamic branching How to use dynamic branching Shader variants …

选读SQL经典实例笔记04_日期运算(上)

1. 年月日加减法 1.1. DB2 1.1.1. sql select hiredate -5 day as hd_minus_5D,hiredate 5 day as hd_plus_5D,hiredate -5 month as hd_minus_5M,hiredate 5 month as hd_plus_5M,hiredate -5 year as hd_minus_5Y,hiredate 5 year as hd_plus_5Yfrom empwhere dept…

【计算机网络】第三章 数据链路层(虚拟机与局域网)

文章目录 3.9 以太网交换机自学习和转发桢的流程3.10 以太网交换机的生成树协议STP3.11 虚拟局域网3.11.1 虚拟局域网VLAN概述3.11.2 虚拟局域网VLAN的实现机制 3.9 以太网交换机自学习和转发桢的流程 以太网交换机的自学习和转发数据帧的流程如下&#xff1a; 自学习&#x…

Mac中使用命令行来加密压缩zip文档

背景 最近需要对一些文件加密&#xff0c;但是Mac上没有找到相应的加密工具&#xff0c;macOS中创建密码保护的压缩 zip 文件很容易并且不需要任何额外附加物或下载。使用命令行的方式处理即可。对压缩包加密之后便意味着有人想要解压缩zip文件时&#xff0c;必须输入正确的密码…

Layui入门必看:登录注册界面搭建与功能开发解析

目录 Layui介绍 什么是Layui&#xff1f; Layui入门 Layui登录实例 导入jar 配置 导入Layui 编写公共jsp 编写代码 Layui注册实例 代码实例 Layui介绍 Layui是一款面向前端开发者的轻量级JavaScript库&#xff0c;旨在简化网页开发过程。它提供了丰富的基础UI组件和…

电气设备漏电保护方式研究

摘要&#xff1a;电气设备漏电故障可能对无防范意识人员产生触电危害&#xff0c;轻者灼伤人体接触位置&#xff0c;重者危及人员生命&#xff0c;甚至会产生漏电火花引起火灾&#xff0c;给企业带来不可估计的损失。文中浅谈电气设备漏电危害性及漏电保护方式&#xff0c;意指…

C++使用rapidjson读写json数据

一、背景 RapidJSON简介及使用_fengbingchun的博客-CSDN博客 rapidjson是腾讯的高效C Json解析器&#xff0c;只有头文件&#xff0c;可跨平台使用 mirrors / Tencent / rapidjson GitCode 二、读数据 使用rapidjson解析和组装json_youyicc的博客-CSDN博客 三、写数据 …

AES加解密算法强化训练

目标&#xff1a; 使用openssl算一遍&#xff0c;再使用网页在线工具算一遍&#xff0c;看看结果是否一样 构造数据 如何编写一个二进制规律性的文件, 比如你可以编写一个"0123456789abcdef"的文本文件&#xff0c;记得删除换行符 然后用ultraedit打开&#xff0c;…

常见加密算法介绍

文章目录 一、背景&#xff1a;二、几种常见的加密算法1. 不可逆加密算法&#xff08;哈希算法&#xff09;&#xff1a;1.1 MD51.1.1 优点&#xff1a;1.1.2 缺点&#xff1a;1.1.3 Demo&#xff1a;1.1.4 案例分析&#xff1a; 1.2 SHA-2561.2.1 Demo&#xff1a;1.2.2 案例分…

day19三数之和 int *returnSize,int ** returnColumnSizes的理解

题目描述 *1.关于参数 int returnSize, int ** returnColumnSizes的理解 具体看这篇文章 [https://blog.csdn.net/m0_52775920/article/details/121461911?spm1001.2014.3001.5502] &#xff08;1&#xff09;*returnSize 的理解 returnSize 返回大小为returnSize的二维数组&…

代码随想录算法二刷 day49 | 动态规划 之121 买卖股票的最佳时机 122 买卖股票的最佳时机II

day49 121. 买卖股票的最佳时机1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组 122.买卖股票的最佳时机II 121. 买卖股票的最佳时机 题目链接 解题思路&#xff1a; 动规五部曲分析如下&#xf…