最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

【全球热闻】剑指Offer 05. 替换空格(java解题)

来源:博客园


(资料图片仅供参考)

目录
  • 1. 题目
  • 2. 解题思路(通用
  • 3. 数据类型功能函数总结
  • 4. java代码

1. 题目

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

示例 1:

输入:s = "We are happy."   输出:"We%20are%20happy."

限制:0 <= s 的长度 <= 10000

2. 解题思路(通用

逐个字符遍历String字符串,并设置一个结果字符串变量re。

如果遍历到的字符不是空格,就把字符存入结果变量;如果遍历到的字符是空格,则将%20存入结果变量;

由于结果字符串re需要增加字符,而String类型有一个特点:

  • String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了,因此re不能定义为string类型,

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer 或 StringBuilder 类。

这是java的一个知识点,具体请看String、StringBuffer、StringBuilder 的区别?

3. 数据类型功能函数总结

//StringString.length();//获得字符串长度String.charAt(index);//获得字符串中下标index的字符//StringBufferStringBuffer 变量名=new StringBuffer();//声明一个StringBuffer类型的变量StringBuffer.append(ch);//在尾部添加字符StringBuffer.toString();//将StringBuffer转为String类型

4. java代码

class Solution {    public String replaceSpace(String s) {        StringBuilder re=new StringBuilder();        for(int i=0;i

关键词: 数据类型 应该选择 字符串长度