替换空格

题目描述

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

时间复杂度是 O(N), 空间复杂度也是 O(N)

public class Solution {
public String replaceSpace(StringBuffer str) {
	if(str==null)
        return null;
    char [] chDatas=str.toString().toCharArray();
    StringBuffer newStr=new StringBuffer();
    for(int i=0;i<chDatas.length;i++){
        if(chDatas[i]==' '){
            newStr.append("%20");
        }else{
            newStr.append(chDatas[i]);
        }
    }
    return newStr.toString();
}
}

相关题目

有两个排序的数组 A1 和 A2,内存在 A1 的末尾有足够多的空余空间容纳 A2 。 请实现一个函数,把 A2 中的所有数字插入 A1 中,并且所有的数字是排序的。

思路:

从后面开始比较。

	//numA表示数组A中现有的元素个数
	//numB表示数组B中现有的元素个数
    public int[] merge(int[] arrayA,int numA,int [] arrayB,int numB){
    int toltalNum=numA+numB;
    int i=numA-1,j=numB-1;
    while(i>=0&&j>=0){
        if(arrayA[i]>arrayB[j]){
            arrayA[--toltalNum]=arrayA[i--];
        }else{
            arrayA[--toltalNum]=arrayB[j--];
        }
    }
    return arrayA;
}
posted @ 2018-07-11 19:33  罗贱人  阅读(95)  评论(0编辑  收藏  举报