剑指offer——替换空格

题目:

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

 

解题思路:

设置一个StringBuilder可以append,(注意)

String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的。


创建一个新的stringbuilder,每遇到一个空格,就换成%20.

 1 public class Solution {
 2     public String replaceSpace(StringBuffer str) {
 3         if(str==null)
 4             return null;
 5         StringBuilder sb = new StringBuilder();
 6         
 7         for(int i=0;i<str.length();i++)
 8         {
 9             if(str.charAt(i)==' ')
10             {
11                 sb.append("%20");
12             }
13             else
14             {
15                 sb.append(str.charAt(i));
16             }
17         }
18         return sb.toString();
19     }
20 }

 

posted @ 2019-05-09 16:46  王爷爱吃秋刀鱼  阅读(97)  评论(0编辑  收藏  举报