剑指Offer(48)-[ArrayString]替换空格
点击查看剑指Offer全解【Java & Golang】实现
题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路
第一种思路是直接使用系统的内置字符串处理库去替换掉所有的空格,但是这种方法一般是取巧方法,所以除非真的做不出来,否则不能使用。
第二种思路是先统计空格的数量,在新建一个字符数组用于容纳所需的所有字符(包括%20),然后依次将所有字符及%20插入到新的字符数组中。
Java实现
public class Solution {public String replaceSpace(StringBuffer str) {char[] chars = str.toString().toCharArray();// 统计空格数和非空格数int spaceCount = 0, charCount = 0;for (int i = 0; i < chars.length; i++) {if (chars[i] == ' ') {spaceCount++;} else {charCount++;}}// 计算最终所需长度int len = charCount + 3 * spaceCount;char[] res = new char[len];// 指向res和chars首部的指针int index1 = 0, index2 = 0;while (index1 < res.length && index2 < chars.length) {if (chars[index2] != ' ') {res[index1++] = chars[index2++];} else {char[] aux = new char[]{'%', '2', '0'};for (char c:aux) {res[index1++] = c;}index2++;}}return new String(res);}
}
剑指Offer(48)-[ArrayString]替换空格相关推荐
- 剑指Offer(二):替换空格
参考链接: https://cuijiahua.com/blog/2017/11/basis_2.html https://blog.csdn.net/wang454592297/article/de ...
- Java之《剑指Offer》:字符串替换空格,请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happ
1. 题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. ① ...
- 剑指offer二之替换空格
一.题目: 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为I love you.则经过替换之后的字符串为I%20love%20You. 二.解题方法: 方法 ...
- 【剑指offer】_02替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 解题思路 ...
- python剑指offer替换空格_《剑指Offer》字符串 替换空格
//str.replace(char oldChar,char newChar);用字符newChar替换oldChar;返回一个新的字符串 public class Solution { publi ...
- 剑指offer二:替换空格
题目描述: 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 解题思路: ...
- 【LeetCode】剑指 Offer 48. 最长不含重复字符的子字符串
[LeetCode]剑指 Offer 48. 最长不含重复字符的子字符串 文章目录 [LeetCode]剑指 Offer 48. 最长不含重复字符的子字符串 package offer;import ...
- 牛客网剑指office系列:替换空格
牛客网剑指office系列:替换空格 本系列应用于想要快速提升算法水平的人,最好有一定基础 题目:替换空格 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串 ...
- python剑指offer替换空格_《剑指offer》2-替换空格【Java+Python】
替换空格 1. 题目描述 请实现一个函数,将一个字符串中的空格替换成"%20". 2. 示例 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%2 ...
最新文章
- html表格联动,html前端基础:table和select操作
- python可视化水平箭头_Python交互图表可视化Bokeh:2. 辅助参数
- 谈谈“个人电子信息”的保护
- 一个很棒的PHP缓存类,收藏下
- 双指针算法 | 力扣344. 反转字符串
- 有字符csv文件导入matlab_Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件...
- HBase常用操作备忘
- main方法中args_public static void main(String [] args)– Java main方法
- Process实操教程 | 中介效应检验
- day4:非参数统计及其检验方法(无sas代码)
- 干货|80天自学通过高级项目管理师
- bat文件如何调用另一个bat文件
- 基于StackGAN++、CycleGAN的图像生成工具,开源
- 修改织梦后台登陆地址login.php,织梦后台免登录的实现步骤 Dede后台自动登录的修改方法...
- ACM计算机系统人为因素会议,虚拟现实打字照亮思想和键盘
- 哪种手机便签软件可以打印,支持打印的手机便签软件
- Wifi源码学习(Android5.1)之wifi开关
- WGS84(GPS坐标) BD09坐标(百度坐标)GCJ02(国测局坐标) 的相互转换
- 【老鸟进阶】deepfacelab训练参数详解
- Could not load dynamic library ‘libcusolver.so.11‘; dlerror: libcusolver.so.11: cannot open shared o