思路错哪里了?
#include<bits/stdc++.h>
using namespace std;
string a,b;
int ct[30];
int tn(char k){
return (int)(k-'a');
}
int main(){
char x='-',y='-',z='-';
cin>>a>>b;
if(a.size()==b.size()){
for(int i=0;i<a.size();i++){
if(a[i]!=b[i]){
cout<<a[i]<<" "<<b[i]<<"\n-";
return 0;
}
}
}
for(int i=0;i<a.size();i++){
ct[tn(a[i])]++;
}
for(int i=0;i<b.size();i++){
ct[tn(b[i])]--;
}
for(int i=0;i<b.size();i++){
if(a[i+1]==b[i]){
z=a[i];
break;
}
}
if(z=='-') z=a[b.size()];
ct[tn(z)]=0;
for(int i=0;i<26;i++){
if(ct[i]>0){
x=i+'a';
}
if(ct[i]<0){
y=i+'a';
}
}
cout<<x<<" "<<y<<endl<<z;
return 0;
}