剑指offer 面试题4 替换空格
来源:互联网 发布:pc装机必备软件 编辑:程序博客网 时间:2024/05/16 11:24
E:\arithmetic\BlankTo
复杂度O(n)
#include <stdio.h>#include <string.h>void blankToSymbol(char a[]);int main(int argc, char *argv[]){/*测试用例:a)功能测试; b,c,d,e,f)特殊值(空格在开头,在结尾, 连续两个空格,全空格,没空格);g)负面测试 (空字符串)*/ char a[80] = "we are happy";char b[80] = " we are happy";char c[80] = "we are happy ";char d[80] = "we are happy";char e[80] = " ";char f[80] = "weare";char *g = NULL; blankToSymbol(a);blankToSymbol(b);blankToSymbol(c);blankToSymbol(d);blankToSymbol(e);blankToSymbol(f);blankToSymbol(g);return 0;}void blankToSymbol(char a[]){//长度不用给 ,自己求 if(a == NULL) {//增强鲁棒性 printf("blank to symbol failed!\n");return;}int i, j;int cntZero = 0;int length = 0;//字符串长度,不算\0 for(i=0 ; a[i]!='\0' ; i++){length++;if(a[i] == ' '){cntZero++;}}for(i=length, j = length+cntZero*2 ; i>=0,j>=0 ; i--, j--){//计算公式别写错 ,i取到length,即\0 if(a[i] != ' '){a[j] = a[i];}else{a[j--] = '0';a[j--] = '2';a[j] = '%';}}printf("%d\n%s\n", strlen(a), a);}
0 0
- 剑指offer-->面试题4 替换空格
- 《剑指offer》面试题4 替换空格
- 【剑指offer】面试题4:替换空格
- 【剑指offer】面试题4替换空格
- 剑指offer 面试题4 替换空格
- 剑指Offer:面试题4 替换空格
- 剑指offer-面试题4-替换空格
- 《剑指Offer》面试题4:替换空格
- 【剑指offer】 面试题4: 替换空格
- 剑指offer 面试题4---替换空格
- 剑指offer面试题4-- 替换空格
- 【剑指offer】面试题4:替换空格
- 剑指Offer:面试题4 替换空格
- 剑指offer-面试题4:替换空格
- 剑指Offer 面试题4 替换空格
- 剑指offer-----面试题4(替换空格)
- 剑指offer面试题4 替换空格
- 剑指offer面试题4:替换空格
- jetty eclipse 整合二
- 65个源代码网站(转)
- Java数组与容器类分析资料–数组、List和Set、Map等
- java命名规范
- 最大访客数
- 剑指offer 面试题4 替换空格
- 部署Web项目
- Add Binary
- 黑马程序员:一道看似简单的题(删除List中的元素)
- POJ3104 Drying [二分]
- 一张图精通MapReduce的原理
- leetcode-Reorder List
- 谓词定义中过滤的常用方法, 大于,小于,等于, XX 和 XX,XX 或XX,X 开头, X 结尾,包含 X等
- vim的保存文件和退出命令