当前位置: 首页 > news >正文

Leetcode-每日一题【剑指 Offer 05. 替换空格】

题目 

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

示例 1:

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

限制:

0 <= s 的长度 <= 10000

解题思路

前置知识

StringBuilder

StringBuilder是Java中的一个可变字符串类,它属于java.lang包。与String类不同,StringBuilder对象的值可以修改,而不会创建新的对象。这使得StringBuilder在需要频繁修改字符串内容的场景下更加高效。

StringBuilder类提供了一系列方法来操作字符串,例如追加、插入、删除、替换等。它的主要特点包括:

1. 可变性:StringBuilder对象的值可以修改,不会创建新的对象。这使得在修改字符串时,不需要频繁地创建新的字符串对象,从而提高了性能。

2. 高效性:StringBuilder类使用了可变的字符数组来存储字符串内容,这使得对字符串的操作更加高效。相比之下,String类中的字符串是不可变的,每次对字符串进行修改时都会创建一个新的字符串对象,导致额外的内存开销。

3. 线程不安全:StringBuilder类是非线程安全的,不适合在多线程环境下使用。如果需要在多线程环境中使用可变字符串,可以使用线程安全的StringBuffer类。

使用StringBuilder类可以方便地进行字符串的拼接、修改和处理,特别适用于需要频繁修改字符串内容的情况,例如循环拼接字符串、动态生成字符串等。

 找到了StringBuilder后,我们一起来看一下这道题

1.题目要求我们把字符串 s 中的每个空格替换成"%20"。因为在java中的String类中的字符串是不可变的,我们需要创建一个新的字符串对象,所以我们先创建一个  StringBuilder 类型的builder,然后用 for()循环遍历原字符串。

2.当遍历到空格时,我们就将“%20”加入bulider中,其余的字符直接加入即可,最后我们将builder转换为字符串输出即可。

代码实现

class Solution {public String replaceSpace(String s) {StringBuilder bulider = new StringBuilder();for(int i = 0; i < s.length(); i++){if(s.charAt(i) == ' '){bulider.append("%20");}else{bulider.append(s.charAt(i));}}return bulider.toString();}
}

测试结果

 

http://www.lryc.cn/news/109399.html

相关文章:

  • zookeeper+kafka分布式消息队列集群的部署
  • VR全景旅游,智慧文旅发展新趋势!
  • 详解EMBER数据集中对PE文件提取ByteEntropyHistogram特征
  • 垃圾回收机制和常用的算法
  • 【PostgreSQL】系列之 一 schema详解(二)
  • 性能优化-react路由懒加载和组件懒加载
  • 静态网页加速器:优化性能和交付速度的 Node.js 最佳实践
  • Spring 非自定义Bean注解
  • 微信小程序:点击按钮实现数据加载(带模糊查询)
  • 2023-2029年中国烘焙工坊市场经营管理风险与未来竞争优势分析报告
  • 用Rust实现23种设计模式之适配器
  • 替换开源LDAP,西井科技用宁盾目录统一身份,为业务敏捷提供支撑
  • 靶形数独
  • C语言阶段性测试题
  • java工厂设计模式
  • idea运行web老项目
  • JS进阶-Day3
  • springboot后端用WebSocket每秒向前端传递数据,python接收数据
  • 记录uniapp 滚动后溢出显示空白的办法
  • 设计原则学习之里氏替换原则
  • 排序进行曲-v4.0
  • Flink 系列四 Flink 运行时架构
  • 14-3_Qt 5.9 C++开发指南_QUdpSocket实现 UDP 通信_UDP 单播和广播
  • 【知识图谱】图数据库Neo4jDesktop的安装图文详解(小白适用)
  • kafka中幂等性producer和事务性producer
  • 静态路由 (华为设备)
  • Django学习笔记-默认的用户认证系统(auth)
  • [SQL挖掘机] - 存储过程
  • MySQL8.0.32详细安装教程(奶妈级手把手教你安装)
  • glut太阳系源码修改和对cpu占用观察