题目:设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意:可以使用额外的一个或两个变量,但不允许
额外再开一个数组拷贝。
分析:方法有很多种,这里主要是对字符串中的每个字符与它前面出现过的所有字符进行比较,如果前面出现过就把这个字符删除掉
代码如下:
从上面的代码可以看出算法的时间复杂度为o(n*n);
这里要求的是不能申请额外的空间,否则可以申请一个256空间的字符(假设是ASCII字符集)对应每个字符,然后对字符串
进行一遍遍历即可!这个实现方法可以参看前面的算法:字符串重复问题!
本文介绍了一种不使用额外缓存空间的算法来移除字符串中的重复字符,并提供了具体实现代码。该方法通过将每个字符与其前面的所有字符进行比较来完成去重。
1156

被折叠的 条评论
为什么被折叠?



