数据结构与算法之字符串

字符串是有若干字符组成的序列,C/C++中每个字符串都以'\0'作为结尾,这样就很容易找到字符串的最后尾部,但是需要一个额外字符的开销,容易造成字符串的越界。

常量字符串是在一块单独的只读的内存区域,其内容不可更改;

1 替换空格(剑指offer---面试题4)

题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20apy.”。

  • void ReplaceBlank(char string[], int length);

解题思路:

(1)遍历字符串,统计出空格的总数numberOfBank;

(2)计算出替换之后的字符串长度,即newLength = originLength + 2 * numberOfBank;

(3)两个指针P1和P2分别指向原始的字符串的末尾和替换后的字符串的末尾,并且从后前遍历依次copy;

2 未完待续~

猜你喜欢

转载自www.cnblogs.com/bo1990/p/11441983.html