完美的代价

题意:给你一个串(长度小于等于8000,仅含小写字母),问最少交换多少次它能变成回文串。

首先统计一下每个字母的次数,如果有多于一个个数为奇数的字母说明不能变成回文串。

然后对从左边往中间的每个字母,从右边对应位置向中间找相同的字母并交换到那个对应位置。

如果找不到,说明它是那个奇数的那个字母,那么就绕过它从另一边找。最后它一定会被交换到中间位置。

说点什么

您将是第一位评论人!

提醒
wpDiscuz