剑指offer(50题第2题:替换空格)

替换空格

题目:请实现一个函数,将一个字符串中的每个空格替换成 %20。例如,字符串为 we are happy.则经过替换之后的字符串为 we%20are%20happy

解题思路
1.通过字符串中空格的个数,计算新字符串长度。
2.两个指针进行字符串拷贝,当遇到’ '时替换为%20.

public String replaceSpace(String Bufferstr){
	char[] chars=str.toString().toCharArray();
	//字符串转换为char字符数组
	StringBuilder res=new StringBuilder();
	/*
	StringBuilder是一个类,可以用来处理字符串,最简单的用法:
	StringBuilder sb=new StringBuilder();
	sb.Append("123");
	sb.Append("456");
	string str=sb.ToString();
	最后得到的str字符串的值就是"123456"
	这种用法要比直接字符串相加效率高,比如:
	string s1=“123”;
	string s2=“456”;
	string str=s1+s2;
	得到的结果相同,但在处理大规模的字符串的时候第二种方法效率会变低
	*/
	for (char c:chars){
		if(c==' ')
			res.append("%20");
		//res.append(x),res尾部添加一个元素x。
		else 
			res.append(c);
	}
	return res.toString();
}

你可能感兴趣的:(剑指offer(50题第2题:替换空格))