龙空技术网

剑指Offer-JZ2:替换空格

JAVA技术专家 108

前言:

现时同学们对“java 多个空格替换成一个空格 一次替换多个空格”可能比较关心,朋友们都需要分析一些“java 多个空格替换成一个空格 一次替换多个空格”的相关文章。那么小编也在网上汇集了一些关于“java 多个空格替换成一个空格 一次替换多个空格””的相关知识,希望姐妹们能喜欢,小伙伴们一起来学习一下吧!

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy

思路分析

1.直接替换法:使用java自带函数实现空格替换为“%20”;

2.新数组实现:原字符串作为辅助串,将替换结果存放至新数组中。

题解实现

方法一:直接替换法

public class Solution {    public String replaceSpace(StringBuffer str) {    	if(str == null) {            return "" ;        }        return str.toString().replace(" ", "%20") ;    }}

方法二:新数组实现

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

标签: #java 多个空格替换成一个空格 一次替换多个空格