剑指 Offer 05. 替换空格
leetcode链接:
https://leetcode.cn/problems/ti-huan-kong-ge-lcof/
题目分析
既然java已经提供看相关的功能函数,那就直接使用,冲
1 |
|
结果
解答成功:
执行耗时:0 ms,击败了100.00% 的Java用户
内存消耗:39.4 MB,击败了66.34% 的Java用户
有史以来写的行数最少、最短的代码。
言归正传:
尝试通过自己编写函数去实现:
方案一
一种时间复杂度和空间复杂度都特别高的方案,极度不推荐但是我还是写出来了。
1 |
|
结果
解答成功:
执行耗时:6 ms,击败了4.25% 的Java用户
内存消耗:40.9 MB,击败了5.02% 的Java用户
方案二
查看官方题解,得,对String相关的函数理解与使用不到位,导致做出了方案一。
Java StringBuffer 和 StringBuilder 类相关内容的学习与补充。
https://www.runoob.com/java/java-stringbuffer.html
相较于String, StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder是线程不安全的,Java 5 提出
StringBuffer是线程安全的,但是运行速度没用StringBuilder快
多数情况建议使用 StringBuilder
1 |
|
剑指 Offer 05. 替换空格
http://yuanql.top/2023/06/14/02_leetcode/剑指 Offer 05. 替换空格/