剑指Offre 面试题05. 替换空格

简介: 剑指Offre 面试题05. 替换空格

面试题05. 替换空格

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

示例 1:

输入:s = “We are happy.”

输出:“We%20are%20happy.”

解题代码

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * @Auther: truedei
 * @Date: 2020 /20-5-6 22:46
 * @Description:
 */
public class TestA {
    static public String replaceSpace(String s) {
        //1693648纳秒
        return s.replaceAll("[ ]", "%20");
        //1355205纳秒
        return s.replace(" ","%20");
        //636976纳秒
        StringBuilder s1 = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            if(s.charAt(i)==(char)' '){
                s1.append("%20");
            }else {
                s1.append(s.charAt(i));
            }
        }
        return s1.toString();
        //594273纳秒
        String s1="";
        for (int i = 0; i < s.length(); i++) {
            if(s.charAt(i)==(char)' '){
                s1=s1+"%20";
            }else {
                s1=s1+s.charAt(i);
            }
        }
        return s1;
    }
}


目录
相关文章
|
6月前
|
数据安全/隐私保护 C++ 索引
【一刷《剑指Offer》】面试题 4:替换空格
【一刷《剑指Offer》】面试题 4:替换空格
|
6月前
面试题05-替换空格(LeeCode)
面试题05-替换空格(LeeCode)
32 0
|
C++
剑指Offer - 面试题5:替换空格
剑指Offer - 面试题5:替换空格
65 0
|
PHP
PHP面试题:请以空格作为间隔,拆分字符串’Apple Orange Banana Strawberry’,组成数组$fruit,
PHP面试题:请以空格作为间隔,拆分字符串’Apple Orange Banana Strawberry’,组成数组$fruit,
132 0
|
存储 Java
剑指offer 面试题4—替换字符串中空格
题目: 实现一个函数,把字符串中的每个空格替换成“%20”。加入输入“we are happy.”,则输出“we%20are%20happy.”。 它想说的思想: 如果是字符数组来存储的话,每次扫描遇到空格都会导致后面的字符向后移动,然后为了节省这么多移动的时间,就先统计空格的个数,然后数组整体扩容空格数乘以3的空间,把那里当作结束,再从尾到头遍历,找到空格就移,这样整
1292 0
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
22天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
50 2
|
27天前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
24 0