PHP字串顛倒順序的函式

2021-05-17 19:42:35 字數 1189 閱讀 4087

面試中經常會有這道題。只要思路明晰,可以輕鬆寫出來。

首先,php自帶了乙個字串顛倒順序的函式。

**:

2:

echo strrev($str);

3: // 結果:etalpmet eht egnahc ot

其次,使用遞迴函式實現。當然效率很低!

function reverse_r($str)

5:

echo substr($str, 0, 1);

6:

return;

7: }
8:

echo reverse_r($str);

第三,使用迴圈實現,效率有很大的提高。

/**

2:

* 利用迴圈實現字串逆序排列

3:

*/

4:

function reverse_i($str)

8:

return;

9:  }
10:

echo reverse_i($str);

最後,使用二分法實現,效率有更大的提高。

/**

2:

* 使用二分法來實現字串顛倒順序。

3:

*/

4:

function reverse_a($str)

13:     }
14:

return $str;

15:  }
16:

// 注:其實按照二分法來實現,理論上效率會提公升一半,但是這個涉及

17:

//到陣列的指標操作,實際效率會怎樣?難說。

18:

echo

"二分實現:/t",reverse_a($str);

最後一種方法涉及到三個知識點:

1. ceil()函式:進一法取整。如:5/4=1.25,ceil(5/4)=2,不管小數字是否大於0.5,均進一取整。

2. 字串當成陣列訪問,如$str[0],$str[1]...可以訪問字串$str的第乙個字元、第二個字元...

3. 二分法。方法3需要迴圈的次數是字串的長度,而方法4則是字串長度的一半,所以效率會提高一倍(理論上)。

字串顛倒

輸入描述 輸入乙個int整數 輸出描述 將這個整數以字串的形式逆序輸出 示例1 思路 public static void main string args 在這裡插入 片 需要學習的知識點 stringbuffer與string的關係 是否可以直接進行強制型別的轉換,如果不可以,又該怎麼轉換 ne...

顛倒單詞在字串中的順序

題目大意 請編寫乙個函式來顛倒單詞在字串中的出現順序。比如 thank you very much 將變為 much very you thank 思路跟之前的刪除特定字元差不多,逆向遍歷字串,並新建乙個陣列用來儲存改變的字串,如下 include include using namespace s...

php 字串函式

一 字串基礎函式 ltrim 去除連續空白。trim 截去字串首尾的空格。chop 函式從字串的末端開始刪除空白字元或其他預定義字元。rtrim別名 str hello world n n echo str echo chop str 輸出 hello world hello world htmls...