• 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;
        }
    };
  • 相关阅读:
    javascript 操作DOM元素样式
    javascript 对象
    javascript 事件对象
    javascript 常用尺寸属性
    团队编程项目作业3-模块开发过程
    buuctf-misc 基础加密
    buuctf-misc 你竟然赶我走
    buuctf-misc 大白
    buuctf-misc N种方法解决
    buuctf-misc二维码
  • 原文地址:https://www.cnblogs.com/libaoquan/p/6806518.html
Copyright © 2020-2023  润新知