mio4 Java Web & Web Security

替换空格

2018-08-27
mio4

阅读:


替换空格

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

分析

  • 最开始使用Java解题,如果是建立新的字符串拷贝原有的字符串,时间复杂度只有O(n)
public class Solution {
    public String replaceSpace(StringBuffer str) {
    	StringBuffer after = new StringBuffer();
		int len = str.length();
		for(int i=0; i < len; i++){
			if(str.charAt(i) == ' ') {
				after.append("%20");
			} else {
				after.append(str.charAt(i));
			}
		}
		return after.toString();
    }
}
  • 看了别人的解答之后发现Java库中的replaceAll()函数能够一行代码解决问题:
public class Solution {
    public String replaceSpace(StringBuffer str) {
    	return str.toString().replaceAll(" ","%20");
    }
}
  • 但是这道题本身有趣的地方在于使用C/C++的指针表示字符串时,在原有字符串的基础上扩展的方式来解决问题
	//占位,下次补充C指针解法

下一篇 重建二叉树

Comments

Content