i-1字符串是pre,
则第i个是pre+第i字母+pre
明显是dp,
看了下网上用的是递归
这里巧用了char【】存字符,再string+char【】来把字符转化为字符串
#include<bits/stdc++.h>
using namespace std;
int n;
char str[1];
string s,pre;
int main(){
cin>>n;
s="A";
for(int i=2;i<=n;i++){
pre=s;
str[0]='A'+i-1;
s+=str;
s+=pre;
}
cout<<s<<endl;
return 0;
} 递归好写,但却比较难想 #include<bits/stdc++.h>
using namespace std;
int n;
void dfs(int x){
if(x==1) cout<<"A";
else{
dfs(x-1);
cout<<(char)(x-1+'A');
dfs(x-1);
}
}
int main(){
cin>>n;
dfs(n);
cout<<endl;
return 0;
} 
京公网安备 11010502036488号