zoukankan      html  css  js  c++  java
  • LintCode-212.空格替换

    空格替换

    设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
    你的程序还需要返回被替换后的字符串的长度。

    注意事项

    如果使用 Java 或 Python, 程序中请用字符数组表示字符串。

    样例

    对于字符串"Mr John Smith", 长度为 13
    替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17 作为结果返回。

    挑战

    在原字符串(字符数组)中完成替换,不适用额外空间

    标签

    字符串处理 Cracking The Coding Interview

    code

    class Solution {
    public:
        /**
         * @param string: An array of Char
         * @param length: The true length of the string
         * @return: The true length of new string
         */
        int replaceBlank(char string[], int length) {
            // Write your code here
            int blank_count = 0;
            int new_length = length;
            int i;
            for(i=0; i<length; i++) {
                if(string[i] == 32) {
                    blank_count++;
                    new_length += 2;
                }
            }
            for(i=length-1; i>=0; i--) {
                if(string[i] != 32) {
                    string[i+blank_count*2] = string[i];
                }
                else {
                    string[i]   = '%';
                    string[i+1] = '2';
                    string[i+2] = '0';
                    i+=3;
                    blank_count--;
                }
            }
            return new_length;
        }
    };
  • 相关阅读:
    JSP
    Map集合的四种遍历
    过滤器和监听器
    Web常用对象(2)
    Web常用对象(1)
    Java Web了解和Servlet初次见面
    面向对象之继承(1)
    SpringBoot使用简单缓存
    SpringBoot整合mybatis
    Spring Security 入门学习--数据库认证和授权
  • 原文地址:https://www.cnblogs.com/libaoquan/p/6806518.html
Copyright © 2011-2022 走看看