D63 917. Reverse Only Letters
题目链接
题目分析
给定一个包含符号的字符串,仅倒转字母的出现顺序,不改变符号的出现位置。
思路
先把字符串分成字母和符号两部分,保留下标。
抽离字母数组的键和值,对值部分进行倒转,合并到键数组中。 再覆盖原数组中对应键即可。最终代码
$char){ if(($char>='a' && $char<='z') || ($char>='A' && $char<='Z') ){ $chars[$key] = $char; } else{ $others[$key] = $char; } } $keys = array_keys($chars); $chars = array_reverse($chars); $chars = array_combine($keys,$chars); $S = $chars+$others; ksort($S); return implode('',$S); }}
若觉得本文章对你有用,欢迎用资助。