时间限制:3秒 空间限制:32768K 热度指数:9193
题目描述
请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。
给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。
测试样例:
"A%sC%sE",7,['B','D','F']
返回:"ABCDEF"
1 class StringFormat { 2 public: 3 string formatString(string A, int n, vector<char> arg, int m) { 4 // write code here 5 int count=0; 6 string res=""; 7 8 for(int i=0;i<n;++i) 9 { 10 if(A[i]=='%'&&i+1<n&&A[i+1]=='s') 11 { 12 res+=arg[count]; 13 count++; 14 i++; 15 } 16 else 17 res+=A[i]; 18 19 } 20 if(count<m) 21 { 22 for(int i=count;i<m;++i) 23 res+=arg[i]; 24 } 25 return res; 26 27 } 28 };