Merge pull request #2575 from KyDestroy/master

添加0053.替换数字.md PHP版本
This commit is contained in:
程序员Carl
2024-06-28 10:07:35 +08:00
committed by GitHub
2 changed files with 62 additions and 4 deletions

View File

@ -362,10 +362,43 @@ main();
### Scala:
### PHP
```php
<?php
// 标准输入
$s = trim(fgets(STDIN));
$oldLen = strlen($s);
$count = 0;
for ($i = 0; $i < $oldLen; $i++) {
if (is_numeric($s[$i])) {
$count++;
}
}
// 扩充字符串
$s = str_pad($s, $oldLen + $count * 5);
$newLen = strlen($s);
while($oldLen >= 0) {
if (is_numeric($s[$oldLen])) {
$s[$newLen--] = 'r';
$s[$newLen--] = 'e';
$s[$newLen--] = 'b';
$s[$newLen--] = 'm';
$s[$newLen--] = 'u';
$s[$newLen--] = 'n';
} else {
$s[$newLen--] = $s[$oldLen];
}
$oldLen--;
}
echo $s;
?>
```
### Rust:

View File

@ -18,7 +18,7 @@
```
2
abcdefg
```
```
样例输出:
@ -355,10 +355,35 @@ function reverseStr(s, start, end) {
### PHP
```php
<?php
// 反转函数
function reverse(&$s, $start, $end) {
for ($i = $start, $j = $end; $i < $j; $i++, $j--) {
$tmp = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $tmp;
}
}
// 标准输入:读取右旋转位数和字符串
$n = trim(fgets(STDIN));
$s = trim(fgets(STDIN));
// 字符串长度
$len = strlen($s);
// 先部分反转
reverse($s, $len - $n, $len - 1);
reverse($s, 0, $len - $n - 1);
// 再整体反转
reverse($s, 0, $len - 1);
echo $s;
?>
```
### Scala:
### Rust: