zoukankan      html  css  js  c++  java
  • 剑指Offer:替换空格

    题目1510:替换空格

    时间限制:1 秒

    内存限制:128 兆

    特殊判题:否

    提交:1697

    解决:436

    题目描述:

    请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    输入:

    每个输入文件仅包含一组测试样例。
    对于每组测试案例,输入一行代表要处理的字符串。

    输出:

    对应每个测试案例,出经过处理后的字符串。

    样例输入:
    We Are Happy
    样例输出:
    We%20Are%20Happy
    【代码】

    1. /********************************* 
    2. *   日期:2013-10-16 
    3. *   作者:SJF0115 
    4. *   题号: 九度OJ 题目1510:替换空格 
    5. *   来源:http://ac.jobdu.com/problem.php?pid=1510 
    6. *   结果:AC 
    7. *   来源:剑指Offer 
    8. *   总结: 
    9. **********************************/  
    10. #include<stdio.h>  
    11. #include<string.h>  
    12.   
    13. char str[10000001];  
    14.   //直接写到main里面了,应该写到一个函数里面,main来调用
    15. int main()  
    16. {     
    17.     int i,j,len;  
    18.     while(gets(str)){  
    19.         int count = 0;  
    20.         int len = strlen(str);  
    21.         //统计空格的个数  
    22.         for(i = 0;i < len;i++){  
    23.             if(str[i] == ' '){  
    24.                 count++;  
    25.             }  
    26.         }  
    27.         //原始字符串末尾  
    28.         i = len;  
    29.         //替换之后字符串末尾  
    30.         j = 2*count+len;  //原来一个空格替换成了长度为3的20%
    31.         //i == j 表示空格替换完毕  



    1. //从后往前处理,只做了必要的移动(如果从前往后处理,做了许多多余的移动)



    1.         while(i != j && i >= 0){  
    2.             if(str[i] == ' ')
    3.             {  
    4.                 str[j--] = '0';  
    5.                 str[j--] = '2';  
    6.                 str[j--] = '%';  
    7.                 i--;  
    8.             }  
    9.             else
    10.             {  
    11.                 str[j] = str[i];  
    12.                 j--;  
    13.                 i--;  
    14.             }  
    15.         }  
    16.         //输出替换之后的字符串  
    17.         len = strlen(str);  
    18.         for(i = 0;i < len;i++){  
    19.             printf("%c",str[i]);  
    20.         }  
    21.         printf(" ");  
    22.     }  
    23.     return 0;  
    24. }  

    【解析】






    【第二种方法】








  • 相关阅读:
    scrapy 中间件
    索引
    理解平均负载
    jquery1
    网络编程
    模块
    进程
    图书管理系统用ajax删除书籍
    mysql
    jquery
  • 原文地址:https://www.cnblogs.com/baoendemao/p/3804710.html
Copyright © 2011-2022 走看看