替换空格 野性酷女 2022-11-30 01:41 183阅读 0赞 [https://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&&tqId=11155&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking][https_www.nowcoder.com_practice_4060ac7e3e404ad1a894ef3e17650423_tpId_13_tqId_11155_rp_1_ru_ta_coding-interviews_qru_ta_coding-interviews_question-ranking] **目录** 一、题目描述 二、代码实现 1、String的replaceAll()方法 2、新开辟一段空间 3、原地修改 -------------------- ## 一、题目描述 ## 请实现一个函数,将一个字符串(给定的是StringBuffer)中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 ## 二、代码实现 ## ### 1、String的replaceAll()方法 ### public class Solution { public String replaceSpace(StringBuffer str) { return str.toString().replaceAll(" ", "%20"); } } 此方法的缺点是:replaceAll()方法采用了正则表达式,内部会各种创建、销毁对象,性能比较差。 ### 2、新开辟一段空间 ### public class Solution { public String replaceSpace(StringBuffer str) { String s = str.toString(); StringBuilder sb = new StringBuilder(); for (int i=0; i<s.length(); i++) { char ch = s.charAt(i); if (ch == ' ') { sb.append("%20"); } else { sb.append(ch); } } return sb.toString(); } } ### 3、原地修改 ### 先将原来的StringBuffer变到替换之后的总长度,再从字符串的后面开始复制和替换。 public class Solution { public String replaceSpace(StringBuffer str) { //1、增加总长度 int P1 = str.length() - 1; //原字符串的末尾 for (int i = 0; i <= P1; i++) if (str.charAt(i) == ' ') str.append(" "); //2、从后往前复制 int P2 = str.length() - 1; //新字符串的末尾 while (P1 >= 0 && P2 > P1) { char c = str.charAt(P1--); if (c == ' ') { str.setCharAt(P2--, '0'); str.setCharAt(P2--, '2'); str.setCharAt(P2--, '%'); } else { str.setCharAt(P2--, c); } } return str.toString(); } } [https_www.nowcoder.com_practice_4060ac7e3e404ad1a894ef3e17650423_tpId_13_tqId_11155_rp_1_ru_ta_coding-interviews_qru_ta_coding-interviews_question-ranking]: https://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&&tqId=11155&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
相关 替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 红太狼/ 2024年02月19日 12:51/ 0 赞/ 58 阅读
相关 替换空格 [https://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&&tqId=11155& 野性酷女/ 2022年11月30日 01:41/ 0 赞/ 184 阅读
相关 替换空格 \思路: 时间复杂度为o(n),从字符串的后面往前找空格然后替换,需要两个指示器指向字符串原始末尾和新增空格后的末尾。 include<stdio.h> 以你之姓@/ 2022年09月25日 12:27/ 0 赞/ 189 阅读
相关 替换空格 > 牛客网 《剑指offer》 > > 时间限制:`1秒` 空间限制:`32768K` 热度指数:`378402` > 本题知识点: 字符串 题目描述 请实现一个函数 ╰半夏微凉°/ 2022年06月08日 02:18/ 0 赞/ 274 阅读
相关 替换空格 [替换空格][Link 1] 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为 た 入场券/ 2022年03月25日 15:18/ 0 赞/ 305 阅读
相关 替换空格 时间限制:1秒 空间限制:32768K 热度指数:830828 本题知识点: 字符串 算法知识视频讲解 题目描述 请实现一个函数,将一个字符串中的每个空格替换成 朴灿烈づ我的快乐病毒、/ 2022年03月11日 20:29/ 0 赞/ 290 阅读
相关 替换空格 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 pub 骑猪看日落/ 2022年03月06日 03:58/ 0 赞/ 301 阅读
相关 替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 绝地灬酷狼/ 2021年12月04日 00:21/ 0 赞/ 365 阅读
相关 替换空格 替换空格 题目描述:用函数实现一个功能,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We%20are%20happy.”。 我们 我就是我/ 2021年11月17日 01:18/ 0 赞/ 330 阅读
相关 替换空格 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 pub 妖狐艹你老母/ 2021年09月23日 09:20/ 0 赞/ 439 阅读
还没有评论,来说两句吧...