剑指offer03--空格用%20替换
来源:互联网 发布:摩托车车架号网络查询 编辑:程序博客网 时间:2024/06/11 04:57
题目:将字符数组中的空格使用“%20”来进行替换
下面例子中,第一个直接使用的函数,比较简单。
第二个折腾了好长时间,原计划使用str.toCharArray()这个函数来进行处理的,无奈这个函数产生的字符数组的
大小是固定且不可改变的,所以只好放弃,先学习者,看看后面有没有什么好的方法再回头尝试。
package 剑指offer;/*题目:<替换空格>请实现一个函数,把字符串中的每个空格替换成"%20", * 例如“We are happy.”,则输出“We%20are%20happy.”。*//*public class Test04 {public static void main(String args[]){String str = "I love code";System.out.println(replaceBlank(str));}public static String replaceBlank(String str){String str1 = "%20";String str2 = str.replaceAll(" ",str1);return str2;}}*/// 我只能说上边的代码太投机的了,直接使用的库// 下面还是应该自己一点一点来实现我们的正则表达式了public class Test04 {public static void main(String args[]){ char[] string = new char[50]; string[0] = 'I'; string[1] = ' '; string[2] = 'l'; string[3] = 'o'; string[4] = 'v'; string[5] = 'e'; string[6] = ' '; string[7] = 'c'; string[8] = 'o'; string[9] = 'd'; string[10] = 'e'; int length = replaceBlank(string, 12); System.out.println(new String(string, 0, length)); //String str = "I love code"; //char string[] = str.toCharArray(); //上面的这种方法看似可以,其实却是不行了,因为这个出来的数组string是固定的}public static int replaceBlank(char [] ary, int num){int blanknum = 0;// 统计空格的个数for(int i = 0; i < ary.length; i++){if(ary[i] == ' '){blanknum++;}}int allnum = blanknum*2 + num;// 获取总数目int temp = allnum;// 这个地方又是坑了我半天啊,最后直接返回的alltum了,但是alltum在过程中减少了num --;allnum--; while (num >= 0 && num < allnum) { // 如是当前字符是空白字符,进行"%20"替换 if (ary[num] == ' ') { ary[allnum--] = '0'; ary[allnum--] = '2'; ary[allnum--] = '%'; } else { // 否则移动字符 ary[allnum--] = ary[num]; } num--; } return temp; //return allnum;}}一定要注意返回的应该是temp,不是allnum
巩固基础,勤加练习
1 0
- 剑指offer03--空格用%20替换
- 倒着处理的思维--包含字符串匹配和九度1510 替换空格 剑指offer03
- 将空格用%20替换
- 剑指offer中替换空格为"%20"
- 剑指Offer:将空格替换成20%
- 剑指:用“ ”替换字符串中的空格
- 用"%20" 替换字符串中的空格
- 用20%替换字符串中的空格
- 用%20替换字符串中的空格
- [剑指offer]替换空格
- [剑指offer]替换空格
- 剑指offer:替换空格
- 替换空格--《剑指offer》
- 剑指Offer:替换空格
- 【剑指offer】替换空格
- 剑指Offer4 替换空格
- 《剑指Offer》--替换空格
- 剑指offer--替换空格
- JavaScript经典题目汇总
- 使用 NGINX 进行微程序缓存的好处
- 指针和数组名
- 应用服务器知识(5)--Tomcat源码分析
- mysql存储过程简单例子
- 剑指offer03--空格用%20替换
- 触摸事件的拦截机制
- 基于ListView的滑动删除、添加、修改
- 一个牧场目前一共有20头刚出生的羊,母羊、公羊各一半。假如母羊5岁时后每年生一胎(母羊,公羊各一半)。羊活到10岁后死亡。请问20年后这个牧场有多少只羊? 请用C#写出算法。
- 文件存储与B+数据结构
- 网络请求方法
- 【MATLAB 学习笔记】 SimMechanics 流程攻略(1)
- php面试总结
- 最小费用最大流-POJ-2195-Going Home