一个包含大写和小写字母的字符串,要求在其后面加上最少的字符,使其成为一个回文串。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个包含大写和小写字母的字符串,要求在其后面加上最少的字符,使其成为一个回文串。相关的知识,希望对你有一定的参考价值。

如果该串原本就是回文串,也需要加上不为零个字符。

program cs;

end;

//删去奇数个字符中间字符。

i:=0;j:=1;

while j<=length(c) do

s[i]:=c[j];

inc(j);

end//栈空,则直接压栈。

else

begin

if s[i]=c[j] then

begin

dec(i);

inc(j);

end//栈顶元素与当前字zhi符相同,就出栈。

end;//不同,就进栈。

if i=0 then writeln('True')

else writeln('False');//如果栈是空的,证明是回文。

思路是对于奇数个字符,删去中间字符。

其余字符扫一个处理一个,s[]是栈,i是它的指针。

j是c的指针。

例如:

对于 ab 字符串,本身不是回文串(反过来是字符串:ba),但是通过在小写字母 b 的后面添加一个小写字母 a,可以使其成为回文串,即:aba(正向、反向内容都相同)

但是对于 abcd 字符串,本身不是回文串(反过来是字符串:dcba),但是无论通过什么方法,都无法做到只添加一个字母,使其成为一个回文串。

扩展资料:

1、初始化标志flag=true;

2、输入字符串str,并获取其长度len;

3、定义并初始化游标i=0,j=len-1,分别指向字符串开头和末尾;

4、比较字符str[i]和str[j],若i==j,转至7,否则往下执行5;

5、若str[i]和str[j]相等,则游标i加1,游标j减1后转至4,否则往下执行6;

6、令标志位flag=flase,结束比较,str不是回文串,算法结束。

7、若str[i]和str[j]相等,结束比较,flag=true,str为回文串,算法结束。

参考资料来源:百度百科-回文串

参考技术A 动归
http://gisyhy.blog.163.com/blog/static/129390343200992485243739/
自己看吧....不会追问

以上是关于一个包含大写和小写字母的字符串,要求在其后面加上最少的字符,使其成为一个回文串。的主要内容,如果未能解决你的问题,请参考以下文章

js密码正则表达式:要求包含大小写字母、数字和特殊符号,8~16位

将包含_或-的字符串最开始的字母小写,其余的第一个字母大写

至少一个大写字母、一个小写字母、一个数字或特殊字符的正则表达式

js正则怎么判断一个字符串里必须包含大写字母,小写字母,数字,特殊字符? 看清楚了,是必须包含,求教

python小练习之将字符串转换成第一个字母大写后面字母小写的形式

求一个正则表达式,要求 数字,大写字母,小写字母,特殊字符 至少两种或两种以上组合的正则表达式。