首页 > 其他 > 详细

剑指offer第二题 替换空格

时间:2019-12-24 23:29:06      阅读:72      评论:0      收藏:0      [点我收藏+]

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

StringBuffer函数补充:

返回值类型        函数方法

char           charAt(int index)

StringBuffer         deleteCharAt(int index)

StringBuffer         insert(int offset , char c)

 1 public class Solution {
 2     public String replaceSpace(StringBuffer str) {
 3         if(str==null)
 4             return null;
 5         else{
 6             char block = ‘ ‘;
 7             int l = str.length();
 8             int i = 0;
 9             while(i<l){
10                 if(str.charAt(i)==block){
11                     str.deleteCharAt(i);
12                     str.insert(i,"%20");
13                     i = i + 3;//指向%20后一个字节
14                     l = l+2;//一个%20比一个空格多两个字节
15                 }else
16                     i = i + 1;//向后前进
17             }    
18             return str.toString();
19        }
20     }
21 }

 

大神代码:<1ms

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

??

 

剑指offer第二题 替换空格

原文:https://www.cnblogs.com/haq123/p/12094188.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!