打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
408,剑指 Offer-替换空格

Every strike brings me closer to the next home run. 

每一次挥棒落空都让我更接近下一个全垒打。

问题描述



请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = "We are happy."

输出:"We%20are%20happy."

限制:

0 <= s 的长度 <= 10000

先把字符串转换为单个字符



这里让求的是把字符串中的空格替换成%20,其中一种实现方式就是申请一个临时数组,然后再遍历这个字符串的每个字符,如果不是空格就把遍历的字符添加到临时数组中,如果是空格就添加3个字符'%','2','0'分别到临时数组中,最后再把临时数组转化为字符串即可。

 1public String replaceSpace(String s) {
2    int length = s.length();
3    char[] array = new char[length * 3];
4    int index = 0;
5    for (int i = 0; i < length; i++) {
6        char c = s.charAt(i);
7        if (c == ' ') {
8            array[index++] = '%';
9            array[index++] = '2';
10            array[index++] = '0';
11        } else {
12            array[index++] = c;
13        }
14    }
15    String newStr = new String(array0, index);
16    return newStr;
17}

使用StringBuilder



还有一种方式和上面差不多,就是把字符串中的每个字符一个个添加到StringBuilder中,如果遇到空格就把他换成%20。

 1public String replaceSpace(String s) {
2    StringBuilder stringBuilder = new StringBuilder();
3    for (int i = 0; i < s.length(); i++) {
4        if (s.charAt(i) == ' ')
5            stringBuilder.append("%20");
6        else
7            stringBuilder.append(s.charAt(i));
8    }
9    return stringBuilder.toString();
10}

如果还想要更简单的,直接调用API,一行代码搞定

1public String replaceSpace(String s) {
2    return s.replace(" ""%20");
3}

总结



这题应该是非常简单的一道题了,没什么好说的。

406,剑指 Offer-二维数组中的查找

404,剑指 Offer-数组中重复的数字

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C#把字符数组转换成含有分隔符的字符串(5-3-4-2-5-5)
.NET基础拾遗(3)字符串、集合和流-(上)
Java初学者:String类
2w字 详解 String,永远的神
多维数组
java中字符串操作方法整理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服