題目的意思是給出n個長度相同的字串然後找出與他們匹配的字串
將字串存入類似二維陣列的裡面,每一行代表一個字串,遍歷每列,判斷每列是否有公共的匹配字元,如果有輸出任意一個
如果沒有輸出'?'
#include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; int main(){ int n; cin >> n; vector<string> patterns(n); for(int i = 0 ; i < n; ++ i){ cin >> patterns[i]; } string res =""; for(int i = 0 ; i < patterns[0].length();++ i){ char ch = '?'; bool flag = false; int j = 0; for(j = 0; j < n; ++ j){ if(patterns[j][i] != '?' ){ flag = true; if(ch=='?') ch = patterns[j][i] ; else if(ch!=patterns[j][i]) { break; } } } if(j < n) ch='?'; else if(ch=='?') ch ='a'; res+=ch; } cout<<res<<endl; }