自动获取网站缩略图,网站开发新动力,网页制作工具的选择与网站整体风格是有关系吗,对网站进行优化给定一个字符串 s 和一个整数 k#xff0c;从字符串开头算起#xff0c;每计数至 2k 个字符#xff0c;就反转这 2k 字符中的前 k 个字符。
如果剩余字符少于 k 个#xff0c;则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个#xff0c;则反转前 k 个字符从字符串开头算起每计数至 2k 个字符就反转这 2k 字符中的前 k 个字符。
如果剩余字符少于 k 个则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个则反转前 k 个字符其余字符保持原样。
示例 1
输入s abcdefg, k 2
输出bacdfeg示例 2
输入s abcd, k 2
输出bacd提示
1 s.length 10^4s 仅由小写英文组成1 k 10^4
分析直接按题意进行模拟。反转每个下标从 2k 的倍数开始的长度为 k 的子串。若该子串长度不足 k则反转整个子串。
char* reverseStr(char* s, int k) {int lenstrlen(s),f1,index0;char *ans(char*)malloc(sizeof(char)*(len1));ans[len]0;for(int i0;ilen;iik*2){if(iklen){for(int jlen-1;ji;--j)ans[index]s[j];}else if(i2*klen){for(int jik-1;ji;--j)ans[index]s[j];for(int jik;jlen;j)ans[index]s[j];}else{for(int jik-1,t0;tk;--j,t)ans[index]s[j];for(int jik,t0;tk;j,t)ans[index]s[j];}}return ans;
}