注:利用java中stringBuilder,append,length方法很方便的解决字符串问题 /* * 剑指offer 替换空格 * xsf * */ /*开始替换空格的函数,length为原数组的长度,java中length不计算/0*/ class BlankFun{ public String replaceBank(String str) { if(str==null)//输入安全判断 return null; //构建一个新的String StringBuffer newStr…
问题描述:请实现一个函数,把字符串中的每个空格替换成"%20". 例如: 输入:"We are happy." 输出:"We%20are%20happy." 思路1:按顺序找出空格所在的位置(下标),然后利用字串相加,将去除空格的字串用"%20"连接起来 /** * 面试题4:替换空格 * @param str * @return */ public static String replaceSpace(StringBuffe…
面试题4:替换空格 提交网址: http://www.nowcoder.com/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&tqId=11155 参与人数:10327 时间限制:1秒 空间限制:32768K本题知识点:字符串 题目描述 请实现一个函数void replaceSpace(char *str,int length),将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的…
剑指Offer编程题2——替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.   题目解析: 从前向后扫描时,移动元素会出现覆盖的情况,因此选择从后往前扫描: 遇到空格时,将空格以后的字符串都向后移动两个位置,空格处放%,因此需要从最后一个元素开始移动,避免元素覆盖. 代码 class Solution { public: void replaceSpace(char…
剑指Offer - 九度1510 - 替换空格2013-11-29 20:53 题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 输入: 每个输入文件仅包含一组测试样例.对于每组测试案例,输入一行代表要处理的字符串. 输出: 对应每个测试案例,出经过处理后的字符串. 样例输入: We Are Happy 样例输出: We%20Are%20Happy 题意分析: 题目给出的需求很简…
面试题5:替换空格 题目要求: 实现一个函数,把字符串中的每个空格都替换成“%20”,已知原位置后面有足够的空余位置,要求改替换过程发生在原来的位置上. 思路: 首先遍历字符串求出串中空格的数量,求出替换之后字符串的总长度(每替换一个空格,长度加2).做法是从字符串的后面向前复制和替换.有2个指针p1.p2,p1指向原字符串的尾,p2指向替换之后的字符串的尾.接下来向前移动指针p1,逐个的将p1指向的字符复制到p2指向的位置,碰到空格时,p1向前移动一格,在p2之前插入字符串"%20"…
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 题目分析 我们如果要替换空格,两步:1先知道空格的位置,2替换,但是字符串中有多个空格,所以我们就要循环,替换完之后再去查找字符串空格位置 当然你也可以选择用正则 代码 function replaceSpace(str) { // write code here return str.replace(/\s/g, '%20');…
题目:替换空格 考点:字符串 题目描述: 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.   public class Solution { public String replaceSpace(StringBuffer str) { return str.toString().replaceAll(" ","%20"); } } 可以用Stirng中的r…
  题目描述:   请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.   解题思路:   对于这个题目,我们首先想到原来的一个空格替换为三个字符,字符串长度会增加,因此,存在以下两种不同的情况:(1)允许创建新的字符串来完成替换.(2)不允许创建新的字符串,在原地完成替换.   第一种情况比较简单.对于第二种情况,有以下两种解法: 时间复杂度为O(n^2)的解法.   从头到尾…