关闭

剑指offer--替换空格

标签: 剑指offer-java实现
244人阅读 评论(0) 收藏 举报
分类:

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


思路:
遍历字符串,遇见“ 后替换成“%20”并把控制下标的变量加3,如果不是则继续,即控制下标的变量加1。


代码如下:

public class Solution {
    public int Find(int start , char c,StringBuffer str){
        int index = -1;
        char[] ch = str.toString().toCharArray();
        for ( int i = start ; i < str.length() ; i++){
            if ( ch[i] == c){
                index = i;
                break;
            }
        }
        return index;
    }

    public String replaceSpace(StringBuffer str) {
        String s = "%20";
        for ( int i = 0 ; i < str.length() ; ){
            int index = Find(i, ' ', str);
            if ( index != -1){
                str.replace(index, index+1,s);
                i = i + 3;
                continue;
            }else{
                i++;
                continue;
            }
        }
        return str.toString();
    }
}
0
0
查看评论

剑指offer--替换空格

题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public class Solution { public String replaceSpace(StringBuffer...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-10 22:12
  • 814

剑指Offer--替换空格

题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路一新建一个StringBuffer,一个个往里挪,遇到空格替换为%20 思路二统计空格数目,计算新的长度,从后往前操作StringB...
  • woshixiaodashen
  • woshixiaodashen
  • 2017-06-29 20:50
  • 142

【剑指offer】-替换空格

题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解析:如果从前往后替换字符串中的空格,则每次替换,都要把空格后的字符向后挪动相应的位置。这样,时间复杂度会很高。在此,我们可以换个思路,先...
  • Kevin_zhai
  • Kevin_zhai
  • 2015-11-02 15:04
  • 1076

剑指offer--替换空格(java)

题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路 遍历整个字符串,判断为空时替换。 public class Solution { public st...
  • lala_01
  • lala_01
  • 2017-09-08 19:19
  • 47

剑指offer--(2) 替换空格

剑指offer–(2) 替换空格题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路描述 首先,将待替换的字符串转换未字符数组,依次判断字符是否为空格。不为空格则直接拼接否...
  • u012485480
  • u012485480
  • 2017-09-15 15:30
  • 80

剑指Offer:面试题6重建二叉树

重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 前序遍历:是先根节...
  • u012162920
  • u012162920
  • 2016-08-17 14:18
  • 220

剑指offer--面试题5:替换空格

#include "stdio.h" /*length 为字符数组string的总容量*/ void ReplaceBlank(char string[], int length) { if(string == NULL && length <= ...
  • u010726692
  • u010726692
  • 2017-04-20 15:10
  • 158

剑指Offer面试题4(Java版),替换空格

题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy",则输出”We%20are%20happy". 原因:在网络编程中,如果URL参数中含有特殊字符,如:空格、“#”等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成...
  • jsqfengbao
  • jsqfengbao
  • 2015-07-24 17:58
  • 1953

剑指offer--面试题4:替换空格

 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 c++实现: //length为牛客系统规定字符串输出的最大长度,固定为一个常数 class Solution { pu...
  • qingyujean
  • qingyujean
  • 2016-09-26 13:16
  • 113

剑指offer-->面试题4 替换空格

我想到了从前往后移,不过时间复杂度是O(n^2),从后往前移,时间复杂度可以降到O(n)。下面是O(n)的代码: #include #define LENGTH 100 void replaceSpace(char *str, int length) { int i = 0; int nu...
  • ljf913
  • ljf913
  • 2013-01-13 19:23
  • 901
    个人资料
    • 访问:155573次
    • 积分:4928
    • 等级:
    • 排名:第6843名
    • 原创:329篇
    • 转载:0篇
    • 译文:0篇
    • 评论:80条
    博客专栏
    最新评论