判断是否为回文字符串 ← 栈

2023-05-16

【问题描述】
所谓
回文字符串就是指正读反读均相同的字符序列。
如“123a321”和“aba”均是回文,但“abc”不是回文。
通过
这个数据结构我们将很容易判断一个字符串是否为回文。

【算法代码】

#include <bits/stdc++.h>
using namespace std;

int main() {
	int next;
	string a,s;
	cin>>a;
	int len=a.size(); //length of a string
	int mid=len/2-1; //midpoint of a string

	int top=-1; //Initialization of the stack
	for(int i=0; i<=mid; i++) s[++top]=a[i]; //push

	//find the starting subscript to match
	if(len%2==0) next=mid+1;
	else next=mid+2;

	for(int i=next; i<=len-1; i++) { //match
		if(a[i]!=s[top]) break;
		top--;
	}

	if(top==-1) cout<<"YES";
	else cout<<"NO";

	return 0;
}

/*
in:
123a321

out:
YES
*/


【参考文献】
https://www.ituring.com.cn/book/tupubarticle/29874


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断是否为回文字符串 ← 栈 的相关文章

  • 在Harvester上安装windows sever 2012 r2

    安装Windows Server 2012 r2 文章目录 安装Windows Server 2012 r2新建虚拟机配置基础信息配置卷配置网络开机 xff0c 进入安装系统步骤安装磁盘驱动安装网络驱动安装其他驱动测试网络 Harveste
  • SDU 程序设计思维实践 第四周 csp模拟

    文章目录 题目A 咕咕东的奇遇题意InputOutput 思路总结代码 题目B 咕咕东想吃饭题意InputOutput 思路总结代码 题目C 可怕的宇宙射线题意InputOutput 思路总结代码 题目A 咕咕东的奇遇 题意 咕咕东是个贪玩
  • 使用MySQL8.0 by docker

    MySQL8 0 by Docker 拉取镜像 span class token function docker span pull mysql 8 0 为了获取到对应的配置文件而 docker run span class token f
  • 国内安装oh-my-zsh

    zsh有华丽的外表 xff0c 使用便捷的特点 xff0c 但在国内网络环境中 xff0c 安装会存在困难 xff0c 使用zsh官网提供的脚本安装 xff0c 基本会安装失败 xff0c 会显示报访问错误 xff0c 在此提供使用Git安
  • 使用kubeKey快速搭建Kubernetes集群

    使用kubeKey快速搭建Kubernetes集群 文章目录 使用kubeKey快速搭建Kubernetes集群一 安装 kk二 初始化本地主机 xff08 官方没写 xff09 三 安装集群3 1 All in One 测试集群无配置文件
  • 使用docker运行mysql-client

    使用docker运行mysql client 由于服务器环境的限制的 xff0c 能少污染主机环境就尽量不污染 xff0c 在集群环境 xff0c 使用docker运行mysql cli 访问通过NodePort暴露的数据库就是一个不错的方
  • CentOS 快速安装Docker

    CentOS 快速安装Docker 下载及安装 yum span class token function install span span class token function wget span y span class toke
  • 使用Docker快速搭建MSSQL实验环境 (持久化)

    使用Docker快速搭建MSSQL实验环境 xff08 持久化 xff09 前置章节 CentOS 快速安装Docker 使用Docker快速搭建MSSQL实验环境 拉取镜像 span class token function docker
  • 使用Docker快速搭建Oracle实验环境(持久化)

    容器镜像系统用户root密码为 helowin su root helowin 运行及配置 仅限测试环境 1 拉取镜像 span class token function docker span pull registry cn hangz
  • SHELL内涵段子

    1 字符掩码 xff0c 过滤掉不需要的 Database span class token assign left variable DATABASE MASK span span class token operator 61 span
  • Shell中读取文本文件

    读取文本文件 基础范式 span class token function cat span filename span class token operator span span class token keyword while sp
  • MySQL有点用的Shell片段

    获取Table Schema mysql span class token parameter variable uroot span p span class token variable passwd span span class t
  • switch语句作用在byte上却不能作用在String和long上

    在switch xff08 exprl xff09 语句中 xff0c exprl必须是一个整数表达式或者枚举常量 而byte short char都可以隐式转换为int类型 xff0c 整数表达式可以是int或者包装类Integer xf
  • MySQL批量测试账号密码

    账号密码文件 user txt root pass 64 1234 root pass 64 1234 root pass 64 1234 root pass 64 1234 run sh span class token shebang
  • MySQL连接过慢优化

    在配置文件my cnf中加上skip name resolve span class token punctuation span mysqld span class token punctuation span span class to
  • stm32的GPIO口PA0按键没按下就是低电平的分析

    芯片 xff1a stm32f407ZET6X 功能 xff1a 实现两按键分别控制四个灯和一个蜂鸣器 思路 xff1a 将寄存器设置封装成函数 xff0c 体会固件库的实现原理 踩坑记录 xff1a 下载程序后发现与PA0连接的按键 xf
  • 正点原子f103新建工程模板——基于固件库

    编译器版本要选对 xff0c 1 xff0c 原来的MDK版本5 15 xff0c 使用的V5编译器 xff1b 新的MDK5 26使用的是V6编译器 xff1b 2 xff0c 在5 26版本下 xff0c ARM Compiler选择V
  • stm32f103-gpio源码理解

    提要 xff1a 参照野火的stm32f103开发指南 xff0c 对标准库的构造进行理解 xff1a xff08 1 xff09 使用结构体 xff0c 使用宏 xff0c 使用枚举 xff08 2 xff09 因为参数是可变的 xff0
  • c语言变量的存储方式和生存期 -考察

    全局变量和局部变量 1 局部变量 xff08 讨论在一个C源文件中 xff09 1 xff09 who is 局部变量 xff1a a 函数内定义的变量 b 函数内的复合语句内定义的变量 c 函数的形参 类比 xff1a a 酒店的住客房间
  • 数字特征值-对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值

    对数字求特征值是常用的编码算法 xff0c 奇偶特征是一种简单的特征值 对于一个整数 xff0c 从个位开始对每一位数字编号 xff0c 个位是1号 xff0c 十位是2号 xff0c 以此类推 这个整数在第n位上的数字记作x xff0c

随机推荐