数据结构与算法之字符串

Posted bo1990

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法之字符串相关的知识,希望对你有一定的参考价值。

字符串是有若干字符组成的序列,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 未完待续~

以上是关于数据结构与算法之字符串的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法之深入解析“压缩字符串”的求解思路与算法示例

数据结构与算法之深入解析“字符串相加”的求解思路与算法示例

数据结构与算法之深入解析“字符串相乘”的求解思路与算法示例

数据结构与算法之深入解析“重复叠加字符串匹配”的求解思路与算法示例

数据结构与算法之深入解析“1比特与2比特字符”的求解思路与算法示例

数据结构与算法之深入解析“键盘行”的求解思路与算法示例