企业网站的建设规划,东莞厚街有什么好玩的地方,WordPress博客模板慢,体育局网站建设方案前言
个人推荐在牛客网刷题(点击可以跳转)#xff0c;它登陆后会保存刷题记录进度#xff0c;重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏#xff1a;个人CSDN牛客刷题专栏。 题目来自#xff1a;牛客/题库 / 在线编程 / 剑指offer#xff1a; 目录前言问题…前言
个人推荐在牛客网刷题(点击可以跳转)它登陆后会保存刷题记录进度重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏个人CSDN牛客刷题专栏。 题目来自牛客/题库 / 在线编程 / 剑指offer 目录前言问题描述举例解法思路代码结果结束语问题描述 请实现一个函数将一个字符串s中的每个空格替换成“%20”。 例如当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 数据范围0 ≤ len(s) ≤ 1000 保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。 举例
//示例1
//输入
We Are Happy
//返回值
We%20Are%20Happy
//
//示例2
//输入//返回值
%20解法思路
第一趟遍历先数出总共有多少个空格然后就可以知道新字符串是多长因为每个空格会换成3个字符。 然后再次遍历遇到空格就改成‘%’‘2’‘0’三个字符。 代码结果
/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可** * param s string字符串 * return string字符串*/
char* replaceSpace(char* s ) {int i 0, j 0;int cnt 0, n strlen(s);for(i 0; i n; i){if(s[i] )cnt; //求空格个数}char* ret NULL; //新数组头指针ret (char*)malloc(sizeof(int) * ( n cnt*3 1)); //定义新数组大小for(i 0, j 0; i n; i,j){if(s[i] ! )ret[j] s[i]; //不是空格就直接复制else if(s[i] ){ret[j] %; //遇到空格要逐一赋值ret[j1] 2;ret[j2] 0;j j 2; //要与i保持同步}}return ret;
}结束语
以上就是该C语言编程题的内容。可以在牛客尝试刷几道题目来练习实践。牛客网刷题(点击可以跳转)可以尝试注册使用。题目来自牛客/题库 / 在线编程 / 剑指offer