剑指 Offer 05. 替换空格

剑指 Offer 05. 替换空格

难度:简单
今天参加招行网络科技提前批的面试,做到了这道题,然后赶紧来刷一遍加深印象。我好菜啊哭哭
题目描述
在这里插入图片描述
解题思路
先算出空格的个数,然后算出新字符的长度,然后从后往前构建新字符串。如果是空格,就依次替换成%20;如果是正常字符,就添加到后面。

/*
	  * 剑指 Offer 05. 替换空格
	  * 2020/6/22
	  */
	 public String replaceSpace(String s) {
	       if(s.length() == 0)
	            return s;
	        int blanknum = 0,n = s.length();
	        for(int i = 0;i < n;i++) {
	        	if(s.charAt(i) == ' ') {
	        		blanknum++;
	        	}
	        }
	        int newnum = n + 2*blanknum;
	        char[] sn = new char[newnum];
	        while(newnum >= 0) {
	        	if(s.charAt(n) == ' ') {
	        		sn[newnum--] = '0';
	        		sn[newnum--] = '2';
	        		sn[newnum--] = '%';
	        	}else {
	        		sn[newnum--] = s.charAt(n);
	        	}
	        	n--;
	        }
	        return new String(sn);

	    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值