【去哪兒】字串替換
阿新 • • 發佈:2018-11-05
題目描述
請你實現一個簡單的字串替換函式。原串中需要替換的佔位符為"%s",請按照引數列表的順序一一替換佔位符。若引數列表的字元數大於佔位符個數。則將剩下的引數字元新增到字串的結尾。
給定一個字串A,同時給定它的長度n及引數字元陣列arg,請返回替換後的字串。保證引數個數大於等於佔位符個數。保證原串由大小寫英文字母組成,同時長度小於等於500。
測試樣例:
"A%sC%sE",7,['B','D','F']
返回:"ABCDEF"
string formatString(string A, int n, vector<char> arg, int m) { // write code here int sum = 0; for (int i = 0; i<n; i++) { if (A[i] == '%') { i++; A[i] = arg[sum]; sum++; } } int len = sum ; int j = 0; int i = 0; for(; i<n-sum; i++) { if (A[i] == '%'||A[j]=='%') { while (A[j] == '%') j++; } A[i] = A[j]; j++; } for (; sum<m&&i<n; sum++,i++) A[i] = arg[sum]; for (; sum < m; sum++) A += arg[sum]; return A.substr(0,n-2*len+m); }