字符串问题
//没事多看几遍
//代码vs通过后复制到这方便查看
C++ String的用法
KMP算法
动画讲解
代码:(还是有点不懂啊。。。
void Getnext(int next[],String t)
{
int j=0,k=-1;
next[0]=-1;
while(j<t.length-1)
{
if(k == -1 || t[j] == t[k])
{
j++;k++;
if(t[j]==t[k])//当两个字符相同时,就跳过
next[j] = next[k];
else
next[j] = k;
}
else k = next[k];
}
}
样例输出
A
BBB
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;++i)
{
string space=string(n-i,' ');
string ch=string(2*i-1,'A'+i-1);
cout<<space+ch<<endl;//string可以直接相加
}
return 0;
}
//输入一个打字额字母A-Z或者一个数字1-9
A 1
ABA 121
#include <iostream>
using namespace std;
int main()
{
char c;
cin>>c;
if(c>='A'&&c<='Z')
{
for(int i=1;i<=c-'A'+1;i++)
{
for(int j=1;j<=c-'A'+1-i;j++)
{
cout<<" ";
}//空格
for(