带你快速刷完67道剑指offer
如果你想在校招中顺利拿到更好的offer,阿秀建议你多看看前人的经验 ,比如准备 、简历 、实习 、上岸经历 、校招总结 、阿里、字节、腾讯、美团等一二线大厂真实面经 、也欢迎来一起参加秋招打卡活动 等;如果你是计算机小白,学习/转行/校招路上感到迷茫或者需要帮助,可以点此联系阿秀;免费分享阿秀个人学习计算机以来的收集到的好资源,点此白嫖;如果你需要《阿秀的学习笔记》网站中求职相关知识点的PDF版本的话,可以点此下载
# No2、替换空格
# 题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
# 1、首先统计出长度,然后从后向前替换
void replaceSpace(char *str,int length) {//int length是指当前的长度
int spaceCount = 0;
int totalLen = length;
for(int i = 0; i < length; ++i){
if(str[i] == ' ') spaceCount++;
}
totalLen += spaceCount*2;
for(int i = length-1; i>=0 &&totalLen != i; --i){//当 i = totalLen的时候说明前面已经
//都没有空格了,可以节约一部分时间,而不是一直赋值下去
if(str[i] != ' ') str[--totalLen] = str[i];
else{
str[--totalLen] = '0';
str[--totalLen] = '2';
str[--totalLen] = '%';
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19