面试题4:替换空格

作者: _minimal | 来源:发表于2016-10-05 21:57 被阅读16次

题目描述

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

代码实现

public class Solution {
    public String replaceSpace(StringBuffer str) {
        //先计算空格的数量
        int blankNum = 0;
        int len1 = str.length();
        for(int i = 0;i < len1;i++){
            if(str.charAt(i) == ' ')
                blankNum++;
        }
        //扩充str的长度
        int len2 = len1 + blankNum * 2;
        str.setLength(len2);
        //从后往前替换
        for(int i = len1-1,j = len2-1;i >= 0;i--){
            if(str.charAt(i) == ' '){
                str.setCharAt(j--,'0');
                str.setCharAt(j--,'2');
                str.setCharAt(j--,'%');
                if(--blankNum == 0) break;
            }else{
                str.setCharAt(j--,str.charAt(i));
            }
        }
        return str.toString();
    }
}

主要思路

1、从后向前移动,每个元素最多移动一次
2、主要记住几个api:length(),setLength(),charAt(i),setCharAt(i,'0')
3、代码优化:if(--blankNum == 0) break;

相关文章

  • 面试题4:替换空格

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

  • 面试题4:替换空格

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

  • 面试题05. 替换空格

    ####### 面试题05. 替换空格 题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示...

  • 面试题4-替换空格

    题目要求 请实现一个函数,将字符串中的每个空格替换成“%20”,例如输入“we are family”替换成“we...

  • 4、替换空格

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

  • 4 替换空格

    题目 把字符串中出现的空格替换为“%20”。示例“Hello World” 变为“Hello%20World" 结...

  • 替换空格

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

  • JS删除空格与添加空格

    替换所有空格 每4位长度添加一个空格

  • 2.3.2 字符串

    面试题5:替换空格 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy...

  • [正则] - 正则去除字符串多余空格,用一个空格替换

    一个空格替换多个空格 总结: 1、去掉左边空格 2、去掉右边空格 3、去掉前后空格 4、去掉所有空格

网友评论

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

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