1. 程式人生 > >[PHP]算法-替換空格的PHP實現

[PHP]算法-替換空格的PHP實現

strlen 長度 函數 字符串長度 所在 func cti var ces

替換空格:
請實現一個函數,將一個字符串中的每個空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之後的字符串為We%20Are%20Happy。

思路:
1.先循環一遍,找出該字符串中" "空格的個數count
2.因為要把" "空格替換成 "%20",所以,要倒著數,最後一個空格後面的元素要移動到2*count位置
3.繼續往前遍歷,倒數第二個空格後面直到最後空格之間的元素,往後移動(count-1)*2位置

replaceSpace(str)
    count=0
    for i=0;i<count(str);i++
        if str[i]==‘ ‘ count
++ for i=count(str)-1;i>=0;i-- if str[i]!=‘ ‘ str[i+2*count]=str[i] else count-- str[i+2*count+1]=‘%‘ str[i+2*count+2]=‘2‘ str[i+2*count+3]=‘0‘
<?php
function replaceSpace($str)
{
        $length=strlen($str);//註意字符串長度的函數
$count=0; for($i=0;$i<$length;$i++){ if($str[$i]==‘ ‘){ $count++; } } //倒敘遍歷,字符先復制到後面,空格所在位置替換成目標 for($i=$length-1;$i>=0;$i--){ if($str[$i]!=‘ ‘){ $str[$i+$count
*2]=$str[$i]; }else{ $count--; $str[$i+$count*2]=‘%‘; $str[$i+$count*2+1]=‘2‘; $str[$i+$count*2+2]=‘0‘; } } return $str; } $str="We Are Happy"; $str1=replaceSpace($str); var_dump($str1);

[PHP]算法-替換空格的PHP實現