剑指Offer-java problem4

原创 2016年08月29日 14:26:51

替换空格

  1. 题目:请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入”We are happy.”,则输出”We%20are%20happy.”
  2. 场景应用:在网络编程中,如果URL参数中含有特殊字符,如空格、‘#’等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在‘%’后面跟上ASCII码的两位十六进制的表示。比如空格的ASCII码是32,即十六进制的0x20,因此空格可以替换成“%20”。
public class ReplaceBlank {
    public String replaceBlank(String input){
        if(input == null){
            return null;
        }
        StringBuffer outputBuffer = new StringBuffer();
        for(int i = 0;i < input.length();i++){
            if(input.charAt(i) ==' '){
                outputBuffer.append("%");
                outputBuffer.append("2");
                outputBuffer.append("0");
            }else{
                outputBuffer.append(String.valueOf(input.charAt(i)));
            }
        }
        return new String(outputBuffer);
    }
}
public class Test {
    public static void main(String[] args){
        ReplaceBlank replace = new ReplaceBlank();
        String s = "we are happy.";
        System.out.println(replace.replaceBlank(s));
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

【剑指Offer学习】【所有面试题汇总】

剑指Offer学习  剑指Offer这本书已经学习完了,从中也学习到了不少的东西,现在做一个总的目录,供自已和大家一起参考,学如逆水行舟,不进则退。只有不断地学习才能跟上时候,跟得上技术的潮流!目录第...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月15日 07:26
  • 18534

剑指offer(java版)

面试题 2 :实现单例模式 1. 饿汉式单例类 public class SingletonClass { private static final SingletonClass insta...
  • houfeng30920
  • houfeng30920
  • 2016年05月07日 14:01
  • 8686

剑指offer——快速排序

快速排序是目前所有排序中性能较好的一种算法,最好情况和平均情况下时间复杂度均为O(nlogn),最坏的情况下时间复杂度为O(n^2)。快速排序采用递归,用空间换取时间。由于使用了递归,因此需要额外的存...
  • u010425776
  • u010425776
  • 2016年03月06日 15:45
  • 1535

剑指offer题目及答案

剑指offer最近在牛客网上刷剑指offer的题目,现将题目和答案总结如下
  • panda_AJ
  • panda_AJ
  • 2017年04月06日 19:07
  • 1648

剑指offer 学习笔记 + 程序注释

空类,有构造函数的类,有虚函数的类,不同的类的大小 #include "D:\C++OBJECT\main.h" class A0 { //空类型 }; class A1 { //有构造函数和...
  • yangxuefeng09
  • yangxuefeng09
  • 2015年03月31日 09:29
  • 1862

剑指offer 算法 (综合)

题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 解析:现在才发现,原来字符串转数字特蛋疼,很多细节,以前从来就没考虑过,鲁棒性啊!!!   首先,得定义个标志位L...
  • u011385799
  • u011385799
  • 2015年08月31日 18:51
  • 300

剑指Offer——Python答案

说明题目 二维数组中的查找替换空格从头到尾打印链表重建二叉树用两个栈实现队列旋转数组的最小数字斐波那契数列跳台阶变态跳台阶矩形覆盖二进制中1的个数数值的整数次方调整数组顺序使奇数位于偶数前面链表中倒...
  • haoji007
  • haoji007
  • 2016年10月16日 08:38
  • 508

剑指offer-面试题30:最小的K个数

题目:输入n个数,找出其中最小的K个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1,2,3,4。 思路:这道题目是典型的top K问题。两种方法:(1)如果允许改变数列,半...
  • moses1213
  • moses1213
  • 2016年04月06日 21:10
  • 632

剑指offer--重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5...
  • kangaroo835127729
  • kangaroo835127729
  • 2015年04月10日 22:57
  • 1983

剑指offer编程题目汇总(更新中。。)

在牛客网上练题的题解,传送门:http://www.nowcoder.com/ta/coding-interviews?page=1二叉树的深度输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的...
  • violet_echo_0908
  • violet_echo_0908
  • 2016年03月25日 12:04
  • 998
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:剑指Offer-java problem4
举报原因:
原因补充:

(最多只允许输入30个字)