PHP算法练习三:交换字符串中第一个和最后一个字符

1. 题目描述

题目要求我们编写一个函数,实现交换字符串中第一个和最后一个字符的功能。

假设给定的字符串为 $str$,则交换后的字符串为 $newStr$,即:

$newStr[0] = str[strlen(str)-1];$

$newStr[strlen(str)-1] = str[0];$

$newStr[1...n-2] = str[1...n-2];$

2. 解题思路

根据题目描述,我们可以分为以下步骤来实现:

2.1 判断字符串长度是否大于等于2

为了保证能够交换第一个和最后一个字符,我们需要首先判断字符串的长度是否大于等于2。如果字符串的长度为1,那么无法交换字符。我们可以通过内置函数 strlen() 来获取字符串的长度。

function swap($str) {

$n = strlen($str);

if ($n < 2) {

return $str;

}

}

2.2 交换第一个和最后一个字符

如果字符串的长度大于等于2,那么我们可以交换第一个和最后一个字符。我们可以使用 PHP 的字符串操作函数 substr() 来获取字符串的第一个字符和最后一个字符,然后使用字符串拼接符号 . 来将两个字符拼接成新的字符串。

function swap($str) {

$n = strlen($str);

if ($n < 2) {

return $str;

}

$first = substr($str, 0, 1);

$last = substr($str, $n - 1, 1);

$newStr = $last . substr($str, 1, $n - 2) . $first;

return $newStr;

}

3. 完整代码

function swap($str) {

$n = strlen($str);

if ($n < 2) {

return $str;

}

$first = substr($str, 0, 1);

$last = substr($str, $n - 1, 1);

$newStr = $last . substr($str, 1, $n - 2) . $first;

return $newStr;

}

后端开发标签