剑指offer - 面试题4:替换空格
发布日期:2021-06-30 19:50:13
浏览次数:2
分类:技术文章
本文共 1640 字,大约阅读时间需要 5 分钟。
问题导读:
输入一个带有空格的字符串,将字符串中的空格替换为 20%
代码:
import java.util.Scanner;public class interview_4 { private static int counter = 0; private static char []ch = new char[32]; public static void main(String []args) { Scanner cin = new Scanner(System.in); /* *先用scanner 读取字符串,在存到char数组中 */ String str = cin.nextLine(); for(int j = 0; j < str.length(); j++) { ch[j] = str.charAt(j); } //得到有效字符串长度和空格数量 int lengthOfOriginal = 0; int i = 0; while(ch[i] != 0) { lengthOfOriginal++; if(ch[i] == ' ') { counter++; } i++; } /* * 定义两个指针,分别指向新字符串尾部和原始字符串尾部 * 从后向前替换 */ int indexOfOriginal = lengthOfOriginal; int newLength = counter*2 + lengthOfOriginal; int indexOfNew = newLength; while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal) { if(ch[indexOfOriginal] != ' ') { ch[indexOfNew--] = ch[indexOfOriginal--]; } else { ch[indexOfNew--] = '%'; ch[indexOfNew--] = '0'; ch[indexOfNew--] = '2'; indexOfOriginal--; } } for(int j = 0; j < newLength; j++) { System.out.print(ch[j]); } }}
测试:
peerslee@peerslee-ubuntu:~/ws/java/offer/4$ java interview_4 Gun N Rose !Gun20%N20%Rose20%!peerslee@peerslee-ubuntu:~/ws/java/offer/4$ java interview_4 Hello PeersLee!Hello20%PeersLee!peerslee@peerslee-ubuntu:~/ws/java/offer/4$ java interview_4 OfferOfferpeerslee@peerslee-ubuntu:~/ws/java/offer/4$
转载地址:https://lipenglin.blog.csdn.net/article/details/52513619 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月30日 20时19分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
bzoj 3040: 最短路(road)(堆优化dijkstra)
2019-04-30
置换群Polya定理(poj 2409: Let it Bead)
2019-04-30
约瑟夫环问题
2019-04-30
bzoj 2733: [HNOI2012]永无乡(线段树启发式合并)
2019-04-30
bzoj 3262: 陌上花开(cdq分治)
2019-04-30
HDU 6182 && 2017广西邀请赛:A Math Problem
2019-04-30
HDU 6186 && 2017广西邀请赛:CS Course
2019-04-30
HDU 6188 && 2017广西邀请赛:Duizi and Shunzi
2019-04-30
HDU 6185 && 2017广西邀请赛:Covering(矩阵快速幂)
2019-04-30
HDU 6184 && 2017广西邀请赛:Counting Stars(三元环)
2019-04-30
HDU 6183 && 2017广西邀请赛:Color it(线段树)
2019-04-30
bzoj 4001: [TJOI2015]概率论(找规律)
2019-04-30
bzoj 1627: [Usaco2007 Dec]穿越泥地(BFS)
2019-04-30