美文网首页
面试题5:替换空格

面试题5:替换空格

作者: scott_alpha | 来源:发表于2019-10-04 19:43 被阅读0次

题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We%20are%20happy.”。
思路:准备两个指针P1和P2,P1指向原始字符串的末尾,P2指向替换之后的字符串的末尾,逐个把P1指定的字符移动到P2上
解决方案:

public class Question5 {
    // length为字符数组string的总容量
    public static void ReplaceBlank(char[] string, int length){
        if (string == null || length <= 0) return;
        // orignalLength为字符串string的实际长度
        int originalLength = 0;
        int numberOfBlank = 0;
        int i = 0;
        while (string[i] != '\u0000'){
            ++originalLength;
            if (string[i] == ' ') ++numberOfBlank;
            ++i;
        }
        // newLength为把空格替换为'%20'之后的长度
        int newLength = originalLength + numberOfBlank * 2;
        if (newLength > length) return;
        int indexOfOriginal = originalLength;
        int indexOfNew = newLength;
        while (indexOfOriginal >= 0 && indexOfNew > indexOfOriginal){
            if (string[indexOfOriginal] == ' '){
                string[indexOfNew --] = '0';
                string[indexOfNew --] = '2';
                string[indexOfNew --] = '%';
            }
            else {
                string[indexOfNew --] = string[indexOfOriginal];
            }
            --indexOfOriginal;
        }
    }

    public static void main(String[] args) {
        char[] string = new char[100];
        char[] test = "Hello World".toCharArray();
        System.arraycopy(test, 0, string, 0, test.length);
        ReplaceBlank(string, 100);
        System.out.println(new String(string).trim());
    }
}

相关文章

  • 替换空格

    《剑指offer》面试题5:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“we...

  • 面试题5: 替换空格

    思路:对于C++要从后向前替换,java好像 从前向后从后向前都一样 相关题目:合并两个有序数组,已知A1有足够大...

  • 面试题5:【替换空格】

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

  • 面试题5:替换空格

    请实现一个函数,把字符串中的每个空格替换成"%20"。 解析:从后往前替换。首先计算出需要的容量,然后从最后一位开...

  • 面试题5:替换空格

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

  • 面试题5:替换空格

    题目 实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We%...

  • 面试题5:替换空格

    题目一 实现一个函数,把字符串中的每个空格替换成"%20".解法一:朴素思想,从前到后扫描,遇到空格首先把后面的内...

  • 面试题5:替换空格

    题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We...

  • 面试题5:替换空格

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

  • 面试题5:替换空格

    题意:请实现一个函数,把字符串中的每个空格替换成"%20"。 算法:双指针扫描 思路:1)遍历原数组,并根据空格个...

网友评论

      本文标题:面试题5:替换空格

      本文链接:https://www.haomeiwen.com/subject/ekzjpctx.html