Lintcode空格替换

替换字符串里的空格

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

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

        for(int i = 0;i < length; i++) {
            if(string[i] == ' ') {
                for(int j = length+2; j > i+2; j--) {
                    string[j] = string[j-2];
                }
                string[i] = '%';
                string[i+1] = '2';
                string[i+2] = '0';
                length = length+2;
            }
        }
        return length;
    }
};  
时间: 2024-10-19 13:23:26

Lintcode空格替换的相关文章

[LintCode] 空格替换

1 class Solution { 2 public: 3 /** 4 * @param string: An array of Char 5 * @param length: The true length of the string 6 * @return: The true length of new string 7 */ 8 int replaceBlank(char string[], int length) { 9 // Write your code here 10 if (!

lintcode 容易题:Space Replacement 空格替换

题目: 空格替换 设计一种方法,将一个字符串中的所有空格替换成 %20 .你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度. 样例 对于字符串"Mr John Smith", 长度为 13 替换空格之后的结果为"Mr%20John%20Smith" 注意 如果使用 Java 或 Python, 程序中请用字符数组表示字符串. 解题: 表示做到的通过率最低的一道题.... 用java的字符串链接起来,然后toCharArray,然后出去接个

212 空格替换

原题网址:https://www.lintcode.com/problem/space-replacement/description 描述 设计一种方法,将一个字符串中的所有空格替换成 %20 .你可以假设该字符串有足够的空间来加入新的字符,且你得到的是"真实的"字符长度. 你的程序还需要返回被替换后的字符串的长度. 如果使用 Java 或 Python, 程序中请用字符数组表示字符串. 您在真实的面试中是否遇到过这个题?  是 样例 对于字符串"Mr John Smith

空格替换

字符串替换空格:请实现一个函数,把字符串中的每个空格替换成"%20".例如输入"we are happy.",则输出"we%20are%20happy.". #include <stdio.h> #include <assert.h> void replace_black(char *str) { assert(str); int black = 0; int oldlen = strlen(str); int newle

linux删除指定行&amp;删除行首空格&amp;替换字符

打印并删除2~1000行 nl /etc/passwd | sed '2,1000d' |more 删除行首空格 sed 's/^[][ ]*//g' file 替换分隔符 说明:文件中数据是由一个或者制表位(多个空格)分隔开的,将这些空格替换为特定字符. 解决方法:sed -e 's/[ ][ ]*/,/g' filename 或者:sed -e 's/[[:space:]][[:space:]]*/ /g' filename 这样将空格或者制表位替换为“逗号”了.

C语言之字符串数组空格替换

问题描述: 字符串替换空格:请实现一个函数,把字符串中的每个空格替换成"%20".例如输入"we are happy.",则输出"we%20are%20happy.". 代码实现: #include <stdio.h> int replace(char *p) { #if 0  while(*p!='\0')  {   if(*p==' ')   {    printf("%%20");   }   else   

将字符串中的空格替换为%20

------------------------------------------------------------------------------------------------------ 例如:有字符串we are family,实现后的字符串为we%20are%20family. 如果从前向后,遇空格替换空格,那么family必将向后移动两次:那么我们可以从后向前实现, 先预留足够的空间,先移动family,再移动are,遇空格填充即可. ------------------

剑指offer剖析__空格替换字符串问题

问题:在"we are happy"这个字符串中,将所有的空格替换成字符串%20. 分析:如果我们不定义一个新的字符数组,就在原字符数组中进行替换,要将一个字节的空格替换成三个字节的字符数组%20,这会产生数组的越界访问,如果允许我们开辟一个新的空间来存放替换后的字符串,则问题将会变得非常简单. 设置两个指针分别指向新旧字符串首元素,遍历原字符串,如果碰到空格就在新字符串上填入"%20",否则就复制元字符串上的内容. #include <stdio.h>

请实现一个函数,把字符串中的每个空格替换成“%20”

请实现一个函数,把字符串中的每个空格替换成"%20".例如输入"we are happy.",则输出"we%20are%20happy." #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char arr[] = "we are happy"; int i = 0; int j = 0; int len