欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字符串中空格的替换

程序员文章站 2022-05-12 23:07:41
...

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

分析:

    一个空格占一个字符,而替换后的%20占3个字符。若从前往后遍历,后面数据全都需要移动,时间复杂度为O(n*n),若从后往前,则所有的字符最多都只需要移动一次,时间复杂度为O(n)

字符串中空格的替换

代码实现:

public class ReplaceBlank {
	public static void main(String[] args) {
		Test();
	}
	
	public static String replaceSpace(StringBuffer str) {
		if(str==null || "".equals(str)) {
			System.out.println("字符数组为空");
			return "";
		}
		
		StringBuffer enen = new StringBuffer();
		int strLen = str.length();
		for(int i=0;i<strLen;i++) {
			char sb = str.charAt(i);
			if(sb == ' ') {
				enen.append("%20");
			}else {
				enen.append(sb);	
			}
		}
		
		return enen.toString();
		
	}
	
	private static void Test() {
		StringBuffer str = new StringBuffer();
		str.append("we are happy");
		String hah = replaceSpace(str);
		
		System.out.println(hah);
	}
}