《剑指offer》(二)-替换空格(java)

2019-09-29  本文已影响0人  鼠小倩

题目描述

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

代码格式要求

public class Solution {
    public boolean Find(int target, int [][] array) {
    }
}

解题

解法一、java自带的函数

public class Solution {
    public static String replaceSpace(StringBuffer str) {  
        return str.toString().replace(" ", "%20");      
    }
    public static void main(String[] args) {
       StringBuffer str =new StringBuffer().append("We Are Happy");
       System.out.println(replaceSpace(str));//打印输出
    }
}

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
toString() 方法返回此对象本身。

解法二、直接在字符串上进行替换

public class Solution {
    public static String replaceSpace(StringBuffer str) {
        int n = str.length(); //定义字符串的长度
            for(int i=0; i<n; i++) {
            if(str.charAt(i) == ' ') { 
               n += 2;  //对字符串进行扩容
               str.replace(i, i+1, "%20");       
             }
        }
        return str.toString();  
    }
    public static void main(String[] args) {
       StringBuffer str =new StringBuffer().append("We Are Happy");
       System.out.println(replaceSpace(str));//打印输出
    }
}

char charAt(int index),返回此序列中指定索引处的 char 值。
replace(int start, int end, String str),使用给定 String 中的字符替换此序列的子字符串中的字符。

上一篇下一篇

猜你喜欢

热点阅读