前言:看到这个题目的时候理解错题目意思了,原来匹配的可以不连续,然后也没有想到双指针这个方向
#include<bits/stdc++.h>
using namespace std;
int main(){
int t; cin >> t;
while(t--){
string s1,s2;
cin >> s1 >> s2;
int len1 = s1.size(),len2 = s2.size();
int j = 0;
for(int i=0;i<len1;i++){
if(s1[i]==s2[j]){
j++;
}
if(s1[i]=='?'){
if(j<len2){
s1[i] = s2[j]; j++;
}
else s1[i] = 'a';
}
}
if(j==len2){
cout << "YES" << endl;
cout << s1 << endl;
}else{
cout << "NO" << endl;
}
}
return 0;
}