Open yankewei opened 2 years ago
就是一个简单的模拟
class Solution {
/**
* @param String $text
* @return String
*/
function reorderSpaces($text) {
$space_count = 0;
$word_count = 0;
$prefix = '';
$word_array = [];
for ($i = 0; $i < strlen($text); $i++) {
if ($text[$i] === ' ') {
if (isset($word)) {
$word_array[] = $word;
unset($word);
}
$space_count++;
} else {
if (!isset($word)) {
$word = $text[$i];
} else {
$word .= $text[$i];
}
if ($prefix === ' ' || $prefix === '') {
$word_count++;
}
}
$prefix = $text[$i];
}
if (isset($word)) {
$word_array[] = $word;
}
if ($word_count === 1) {
return $word_array[0] . ($space_count === 0 ? '' : str_pad(' ', $space_count));
}
$interval_sapce_count = intval($space_count/($word_count-1));
$result = implode(str_pad(' ', $interval_sapce_count), $word_array);
if ($space_count%($word_count-1) > 0) {
$result .= str_pad(' ', $space_count%($word_count-1));
}
return $result;
}
}
给你一个字符串
text
,该字符串由若干被空格包围的单词组成。每个单词由一个或者多个小写英文字母组成,并且两个单词之间至少存在一个空格。题目测试用例保证text
至少包含一个单词 。请你重新排列空格,使每对相邻单词之间的空格数目都 相等 ,并尽可能最大化该数目。如果不能重新平均分配所有空格,请 将多余的空格放置在字符串末尾 ,这也意味着返回的字符串应当与原
text
字符串的长度相等。返回 重新排列空格后的字符串 。
示例 1:
示例 2:
示例 3:
示例 4:
示例 5:
提示:
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/rearrange-spaces-between-words 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。