链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/

标签:字符串

题目

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

输入:s = "We are happy."
输出:"We%20are%20happy." 0 <= s 的长度 <= 10000

分析

对于这题思路很简单,只需要遍历字符串s,然后判断是否为空格,是就进行替换,不是就原样。保存结果可以使用StringBuilder或者StringBuffer,StringBuffer是线程安全的,StringBuilder是线程不安全的,这里不涉及多线程,所以使用StringBuilder效率更高。StringBuffer和StringBuilder拼接字符串都比String的效率高。

编码

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

时间复杂度O(n),空间复杂度O(1)

最新文章

  1. spring maven pom.xml设置
  2. 利用sharding-jdbc分库分表
  3. oracle 存储过程创建及执行简单实例
  4. 禁用CMFCRibbonApplicationButton的单击和双击事件
  5. IOS启动顺序
  6. 2015安徽省赛 A.First Blood
  7. 深入浅出ES6(八):Symbols
  8. Android实例-如何使用系统剪切板(XE8+小米2)
  9. RPM命令用法详解
  10. 【转】ubuntu 12.04 LTS将关闭最大化最小化移动到右上角
  11. 利用FreeMarker静态化网页
  12. spring mvc 提交数组等复杂类型
  13. 十分钟搞懂什么是CGI(转)
  14. selenium的一些使用方法
  15. vue(初探预渲染)
  16. redis的架构(一)
  17. java实现四则运算应用(基于控制台)
  18. LeetCode(49): 字母异位词分组
  19. android apk 在哪个目录下安装?
  20. java基础-day7

热门文章

  1. React-列表 & Key
  2. visual studio 将他人的 vtk 程序在本机生成
  3. Thyemleaf报错: Method call: Attempted to call method *** on null context object
  4. 一、HttpRunner学习汇总
  5. Nebula Graph 的 Ansible 实践
  6. 微信小程序支付功能完整流程
  7. Asp.NetCore Web开发之Nlog日志配置
  8. lower_bound和upper_bound的实现
  9. Convert character array to string in MATLAB
  10. 关于Annotation注解的理解