fork(4) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. string longestPalindrome(string str){
  5. map<char,int> frequencyChar;
  6. for(int i=0;i<str.length();i++){
  7. frequencyChar[str[i]]++;
  8. }
  9. char middle_character='\0';
  10. string leftStr;
  11. for(auto it: frequencyChar){
  12. char currentChar=it.first;
  13. int frequencyCurrentChr = it.second;
  14. if(frequencyCurrentChr%2!=0){
  15. middle_character=min(currentChar,middle_character);
  16. }
  17. leftStr.append(frequencyCurrentChr/2,currentChar);
  18. }
  19. string rightStr(leftStr.rbegin(),leftStr.rend());
  20. return leftStr + middle_character + rightStr;
  21. }
  22. int main() {
  23. string str = "adskassda";
  24. cout<<longestPalindrome(str);
  25. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
adssda