剑指offer(PHP版改写)----字符串

/**
* 把字符串中的每个空格替换成"%20"
*
* @param $string 字符串
* @param $length 字符数组长度 (必须大于替换后的字符串长度)
*/
function ReplaceBlank($string,$length){

if ($string==null||$length<=0){
return 0;
}

$orginalLength = 0;
$numberOfBlank = 0;
$i = 0;
while ($string[$i]!=null){
++$orginalLength;
if ($string[$i]==' '){
++$numberOfBlank;
}

++$i;
}

$newLength = $orginalLength+$numberOfBlank*2;
if ($newLength > $length){
return 0;
}

$indexOfOrginal = $orginalLength; //14
$indexOfNew = $newLength;
while ($indexOfOrginal >=0 && $indexOfNew >$indexOfOrginal){
if ($string[$indexOfOrginal]==' '){
$string[$indexOfNew--]='0';
$string[$indexOfNew--]='2';
$string[$indexOfNew--]='%';
} else{
$string[$indexOfNew--] = $string[$indexOfOrginal];
}
--$indexOfOrginal;
}

return $string;
}

print_r(ReplaceBlank('we are family! ',30));

方法二:利用PHP内置函数str_replace
function replaceSpace($str)
{
// write code here
return str_replace(" ","%20",$str);
} 


posted @ 2019-07-22 11:39  来自德玛西亚的诺克萨斯  阅读(215)  评论(0)    收藏  举报