题目描述给你一个回文字符串s。返回s的按字典序排列的最小回文排列。如果一个字符串从前往后和从后往前读都相同那么这个字符串是一个回文字符串。排列是字符串中所有字符的重排。如果字符串a按字典序小于字符串b则表示在第一个不同的位置a中的字符比b中的对应字符在字母表中更靠前。如果在前min(a.length, b.length)个字符中没有区别则较短的字符串按字典序更小。示例 1输入s z输出z解释仅由一个字符组成的字符串已经是按字典序最小的回文。示例 2输入s babab输出abbba解释通过重排babab→abbba可以得到按字典序最小的回文。示例 3输入s daccad输出acddca解释通过重排daccad→acddca可以得到按字典序最小的回文。提示1 s.length 10^5s由小写英文字母组成。保证s是回文字符串。苯人思路classSolution{public:stringsmallestPalindrome(string s){intns.size();string half;for(inti0;in/2;i)half.push_back(s[i]);sort(half.begin(),half.end());stringhalf_reverse(half.rbegin(),half.rend());string answer;if(n%20)answerhalfhalf_reverse;elseanswerhalfs[n/2]half_reverse;returnanswer;}};学习笔记C 中简单快速实现字符串std::string倒序① 使用std::reverse需要头文件algorithmstring strHello World;reverse(str.begin(),str.end());// 可直接使字符串倒序② 使用反向迭代器构造新字符串不修改原字符串直接创建一个倒序的新字符串反向迭代器rbegin()rend()正向迭代器begin()end()string strHello World;stringreversed(str.rbegin(),str.rend());