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; }