替换字符串中的空格为$$$。要求时间复杂度为O(N)
来源:互联网 发布:苹果软件下载大全 编辑:程序博客网 时间:2024/05/17 03:23
#include <iostream>using namespace std;void ReplaceBlank(char string[], int length) //length 为string数组的总容量{ if (string == NULL || length <= 0) return ; int originalLength = 0; //字符串string的实际长度 int numberOfBlank = 0;//字符串中空格数 int i = 0; while (string[i] != '\0') { ++originalLength; if (string[i] == ' ') ++numberOfBlank; i++; } int newLength = originalLength + numberOfBlank*2; //空格被替换之后的长度 if (newLength > length) //超出数组所能允许的长度 return ; int indexOfOriginal = originalLength; int indexOfNew = newLength; while (indexOfOriginal >= 0 && indexOfOriginal < indexOfNew) { if (string[indexOfOriginal] == ' ') { string[indexOfNew--] = '$'; string[indexOfNew--] = '$'; string[indexOfNew--] = '$'; } else { string[indexOfNew--] = string[indexOfOriginal]; } --indexOfOriginal; }}void test_ReplaceBlank(){ char string[100] = "talk is cheap show me the code"; ReplaceBlank(string, 100); cout << string << endl;}int main(){ test_ReplaceBlank();}
阅读全文
0 0
- 字符串替换--替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 【每日一题】替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 查找一个字符串中第一个只出现两次的字符,要求时间复杂度为O(N)。-替换字符串中的空格为$$$。要求时间复杂度为O(N)
- 将字符串中的空格替换,时间复杂度为0(n)解法
- 将字符串中的所有空格去掉,要求时间复杂度O(N)
- 剑指offer,时间复杂度为o(n)的空格替换算法,44页例子代码
- 排序一个数组要求时间复杂度为O(N)
- 【每日一题】查找一个字符串中第一个只出现两次的字符。要求时间复杂度为O(N),空间复杂度为O(1)
- 给定一个字符串,查找该字符串中第一个重复出现的字符索引。要求:时间复杂度为O(n)。
- 字符串左旋满足时间复杂度为O(n)
- 时间复杂度为O(n),空间复杂度为O(1)
- 要求对数组a进行排序,要求时间复杂度为O(N)
- 时间复杂度为O(n)的排序
- 时间复杂度为O(n)的排序
- poj 3061 时间复杂度为O(n)
- 【字符串】查找一个字符串中第一个只出现两次的字符。比如:“abcdefabcdefabc”中第一个只出现两次为‘d’,要求时间复杂度为O(N),空间复杂度为O(1)
- poi导出excel 之工具类(一)
- leetcode 52. N-Queens II
- table里,border边框无法写入border-radius问题
- 集合
- Mac 搭建本地SVN,并使用Cornerstone管理svn
- 替换字符串中的空格为$$$。要求时间复杂度为O(N)
- Spring各个组件常用注解含义(持续更新ing)
- LaTeX——命令注释
- 小程序分页1
- ubuntu上 install android studio出现unable to run mksdcard sdk tool问题解决
- gdb最全调试教程
- 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。
- 机器学习常用的Python库
- jit即时编译