剑指offer之编程(二)

来源:互联网 发布:阿里郎兰花指mp3百度云 编辑:程序博客网 时间:2024/05/19 03:24

题目描述: 


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


思路:看到此题,首先想到的是String类型的方法:replaceAll(String regex,String replacement),java API 中的解释为:使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式(regex)的每个子字符串。

代码如下:

import java.util.*;public class Main8 {public static void main(String[] args) {String str = " my name is A";String outStr = str.replaceAll("\\s", "%20");System.out.println(outStr);}}

可能会觉得这也太简单了吧,或许这时面试官会问:如果不用这个函数你会怎么办,那么下面就要使用String类中的toCharArray()函数进行字符串的拆分,然后对char数组进行相应的操作即可。

代码如下:

import java.util.*;public class Main8 {public static void main(String[] args) {String str = " my name is A";str = replaceBlank(str);System.out.println(str);}public static String replaceBlank(String str){char[] a = str.toCharArray();String outStr = "";for(int i=0;i<a.length;i++){String tempStr = String.valueOf(a[i]);if(tempStr.equals(" ")){outStr = outStr+"%20";}else{outStr = outStr+a[i];}}return outStr;}}

上面的代码可能会有问题,如发现还望提出指正,如有更好方法请不吝赐教。


本人经验,仅供参考!


0 0