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;
}