剑指offer[替换空格]

剑指offer[替换空格]

题目描述

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

思路

因为原题给的参数是Stringbuffer,所以可以利用Stringbuffer的indexof方法得到字符串中空格的索引,然后用replace方法替代。

代码

public class Solution {
    public String replaceSpace(StringBuffer str) {
        int index=str.indexOf(" ");
        while(index!=-1){
            str.replace(index,(index+1),"%20");
            index=str.indexOf(" ");
        }
        return str.toString();
    }
}

细节知识

  • 字符串的索引是从0开始的
  • StringBuffer的replace方法三个参数分别是起始位置,结束位置,需要替代的字符串
  • indexof方法如果找不到指定字符的索引就会返回-1

猜你喜欢

转载自blog.csdn.net/qq_42404593/article/details/84302919
今日推荐