Problem Statement
A palindrome is a string that is spelled the same forward and backward. We want to rearrange letters of the given string baseString so that it becomes a palindrome.
You will be given a
Definition
- Class:
- PalindromeMaker
- Method:
- make
- Parameters:
- String
- Returns:
- String
- Method signature:
- String make(String baseString)
- (be sure your method is public)
Constraints
- baseString will contain between 1 and 50 characters, inclusive.
- Each character in baseString will be an uppercase letter ('A'-'Z').
Examples
"AABB"
Returns: "ABBA"
"AAABB"
Returns: "ABABA"
"ABACABA"
Returns: "AABCBAA"
"ABCD"
Returns: ""
"ZYXWVUTSRQPONMLKJIHGFEDCBA"
Returns: ""
"ZYXWVUTSRQPONMLKJIHGFEDCBZYXWVUTSRQPONMLKJIHGFEDCB"
Returns: "BCDEFGHIJKLMNOPQRSTUVWXYZZYXWVUTSRQPONMLKJIHGFEDCB"
"ZYXWVUTSRQPONMLKJIHGFEDCBZYXWVUTSRQPONMLKJIHGFEDCA"
Returns: ""
"ZYXWVUTSRQPONMLKJIHGFEDCBZYXWVUTSRQPONMLKJIHGFEDC"
Returns: "CDEFGHIJKLMNOPQRSTUVWXYZBZYXWVUTSRQPONMLKJIHGFEDC"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Returns: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Returns: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAA"
Returns: "AAAAAAAAAAAAAAAAAAAAAAABABAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAB"
Returns: ""
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAB"
Returns: "AAAAAAAAAAAAAAAAAAAAAAABBBAAAAAAAAAAAAAAAAAAAAAAA"
"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZBBZZZZZZZZZZZZZB"
Returns: "BZZZZZZZZZZZZZZZZZZZZZZZBZZZZZZZZZZZZZZZZZZZZZZZB"
"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZBBZZZZZZZZZZZZZZ"
Returns: "BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZB"
"A"
Returns: "A"
"Z"
Returns: "Z"
"FZ"
Returns: ""
"GG"
Returns: "GG"
"ZZA"
Returns: "ZAZ"
"DDZ"
Returns: "DZD"
"DZG"
Returns: ""
"DDDFFF"
Returns: ""
"DDDFFFF"
Returns: "DFFDFFD"
"DDTTFFF"
Returns: "DFTFTFD"
"CFD"
Returns: ""
"ZA"
Returns: ""
"MJVKGDCGNFKDCONOHYMUCGDSHSVFLYLDJCGU"
Returns: "CCDDFGGHJKLMNOSUVYYVUSONMLKJHGGFDDCC"
"GPDSUDGVSOFOWFCUFCPGFWVG"
Returns: "CDFFGGOPSUVWWVUSPOGGFFDC"
"UWDNOPQQMPUPDQRPOGMHUHXNHUWWWTXDGQHXRTD"
Returns: "DDGHHMNOPPQQRTUUWWXXXWWUUTRQQPPONMHHGDD"
"HLHPHLFHAUIAXEFEWUWYYXI"
Returns: "AEFHHILUWXYPYXWULIHHFEA"
"UQUUUJKECKUUUNWIIMVESNJVUWMGGCS"
Returns: "CEGIJKMNSUUUUVWQWVUUUUSNMKJIGEC"
"KNPATKQQPITNDRGIKEIVWQNEPKDORSAWQAAVSINOPG"
Returns: "AADEGIIKKNNOPPQQRSTVWWVTSRQQPPONNKKIIGEDAA"
"DFFD"
Returns: "DFFD"
"NQTNNVCTTDQCPPDNT"
Returns: "CDNNPQTTVTTQPNNDC"
"WRRICNTEZWGEBXOZJRTDZGIDBGEZUGXIWOOICONWUUIEJUIR"
Returns: "BCDEEGGIIIJNOORRTUUWWXZZZZXWWUUTRROONJIIIGGEEDCB"
"SS"
Returns: "SS"
"GXHUIYPYYOXKVCUEHIKEODODVGHWPOWDCAYODPOPHA"
Returns: "ACDDEGHHIKOOOPPUVWXYYYYXWVUPPOOOKIHHGEDDCA"
"HNURVSHNGIBIHKIGRMVFUMNNSHIBKCF"
Returns: "BFGHHIIKMNNRSUVCVUSRNNMKIIHHGFB"
"HMLRGGGMFDVTVYLBGQQHDBFSRTSRGYURGGG"
Returns: "BDFGGGGHLMQRRSTVYUYVTSRRQMLHGGGGFDB"
"ZGGYUCGPGSSLYAZPQQATJCULT"
Returns: "ACGGLPQSTUYZJZYUTSQPLGGCA"
"HROORXUUUPUXMPUKXHXXUXKM"
Returns: "HKMOPRUUUXXXXXXUUURPOMKH"
"AMFBRSXHXXRKPAMRTXGJPUBGHSFRUJTFTTF"
Returns: "ABFFGHJMPRRSTTUXXKXXUTTSRRPMJHGFFBA"
"USDGHUAYCMWUUHSGGISYPJCIAGMSYYXMYOPMYOGXYADJAYW"
Returns: "AACDGGHIJMMOPSSUUWXYYYYGYYYYXWUUSSPOMMJIHGGDCAA"
"BUQTQTGQQXXGQUQ"
Returns: "GQQQTUXBXUTQQQG"
"OTBOPTB"
Returns: "BOTPTOB"
"REIZANAADZEREXIRXZYOMQAYXDQOZMDREXN"
Returns: "AADEEIMNOQRRXXYZZDZZYXXRRQONMIEEDAA"
"LJFGGMOLYGRUDYLGGILBTLCJBGOSITOHUHVVRGGFDDMDGOSCJG"
Returns: ""
"STUXUDHOVOCHBZVTOGZIHCBDATDTTCRGFUUATIIHRXSDOCHH"
Returns: ""
"RGTHRITIVSYVKPJVAOSLSBPHNTGONMTIRSLJBTTMIYKR"
Returns: ""
"QOKEUFEUKGBBNNRZWHAZZAZQZRHFZFGORPUEEPRWU"
Returns: "ABEEFGHKNOPQRRUUWZZZFZZZWUURRQPONKHGFEEBA"
"WWKZKABQFWQWBCCGJZLTLHGTYQIHUYQAPGJIGUPXX"
Returns: "ABCGGHIJKLPQQTUWWXYZFZYXWWUTQQPLKJIHGGCBA"
"XFXRELBEBGJLPDBIPXDXIXRVPPDNGFJBYDRYBDDXBNRFF"
Returns: "BBBDDDEFFGIJLNPPRRXXXYVYXXXRRPPNLJIGFFEDDDBBB"
"BLNSZZGHVUWSNWRNIVAHNWQWWBADQDRNQNLBWDGNBQIUNDB"
Returns: "ABBDDGHILNNNNQQRSUVWWWZBZWWWVUSRQQNNNNLIHGDDBBA"
"ZNCAQOZNZKLNYSBOZLTQGAUXOAGOIBAUCANXTSDKBYWWIA"
Returns: ""
"OVWRITRTYYLKOUWLYKWCHICMFFGWYUHLLXOGWKVOWXMKW"
Returns: "CFGHIKKLLMOORTUVWWWXYYWYYXWWWVUTROOMLLKKIHGFC"
"OLRUZDIWQOODDREDPPOVLIHPCXPCECUHBZQLCSLNVXWB"
Returns: ""
"CAABACCAAABCCCCAAACCCBBBAACBBB"
Returns: ""
"BCCCBABBCABCABBCBBCCBCBAABACBACCACAC"
Returns: ""
"ACAABCCABACBCCACCCBBACAAABCABC"
Returns: ""
"BBBBABACAABCBCACCBCBBCCBACBBBACACCBCBCACAAB"
Returns: ""
"BAACABCCBAAAACCBBAABBAAACCABBAC"
Returns: "AAAAAAABBBBCCCCBCCCCBBBBAAAAAAA"
"BAAAACBBBACCACBAABABBBCACAABBAABCBCBBABAC"
Returns: "AAAAAAAABBBBBBBBCCCCCCCCCBBBBBBBBAAAAAAAA"
"ACACCCAABCACABBCBAABBACABCBA"
Returns: ""
"AABCAAACBCBBBBABAACABACCCBBBAACBCBAAABCAAC"
Returns: ""
"ACCCBACCBABCBCCCCBBBBCBAAAACABCBABCCBABBBBBABAAACA"
Returns: ""
"CCAACCCCAAABBCAACAACCBBAAACBACCCAACCAAAACCC"
Returns: ""
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB"
Returns: "AAAAAAAAAAAAAAAAAABABAAAAAAAAAAAAAAAAAA"
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB"
Returns: ""
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDCCBB"
Returns: "AAAAAAAAAAAAAAABCDDADDCBAAAAAAAAAAAAAAA"
"AABBCCDDDEE"
Returns: "ABCDEDEDCBA"
"AAAAABCBAAAAAAAAAAAAAAAAAABBA"
Returns: "AAAAAAAAAAAABBCBBAAAAAAAAAAAA"
"AAZ"
Returns: "AZA"
"ABCDEFGHIJKLMNOPQRSTUVWXYZWXYZWXYZWXYZWXYZWXYZWXYZ"
Returns: ""
"ABCDEFGHIJKLMNOPQRSTUVKJHGFDSAQWERTUIPO"
Returns: ""
"BCDEFGHIJKLMNOPQRSTUVWXYZBCDEFGHIJKLMNOPQRSTUVWXYZ"
Returns: "BCDEFGHIJKLMNOPQRSTUVWXYZZYXWVUTSRQPONMLKJIHGFEDCB"
"AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVV"
Returns: "ABCDEFGHIJKLMNOPQRSTUVVUTSRQPONMLKJIHGFEDCBA"
"AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHYYXXZZZ"
Returns: "AABBCCDDEEFFGGHHXYZZZYXHHGGFFEEDDCCBBAA"
"ABCDEFGHIJKLMNOPQRSTUVWZXYABCDEFGHIJKLMNOPQRSTUVWX"
Returns: ""
"AAACCBBBBZZYYYYKKKKBBTT"
Returns: "ABBBCKKTYYZAZYYTKKCBBBA"
"AAAAAAAAAABBBBBBBBBBAAAAAAAAAABBBBBBBBBBCCCCCC"
Returns: "AAAAAAAAAABBBBBBBBBBCCCCCCBBBBBBBBBBAAAAAAAAAA"
"AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHYYXXZZZZ"
Returns: "AABBCCDDEEFFGGHHXYZZZZYXHHGGFFEEDDCCBBAA"
"A"
Returns: "A"
"ABCDEFGHIJKLMNOPQRSTUWABCDEFGHIJKLMNOPQRSTUW"
Returns: "ABCDEFGHIJKLMNOPQRSTUWWUTSRQPONMLKJIHGFEDCBA"
"ADFASDFASDFASDFKAJSLDFKASDLFKJASLDADFADKFJLSDJFL"
Returns: ""
"AABB"
Returns: "ABBA"
"AAABBB"
Returns: ""
"ASDFGHJKLPOIJHGFDSAERTYULKJSDDDDCCASDFGHJKLPOIUYT"
Returns: ""
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Returns: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AABBCCDDEEFFGGHHFFJJDDYYKKBBUUFGHHJJ"
Returns: ""
"AABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCB"
Returns: "ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFEDCBA"
"ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP"
Returns: "ABCDEFGHIJKLMNOPPONMLKJIHGFEDCBA"
"AB"
Returns: ""
"ZZZZ"
Returns: "ZZZZ"
"AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHYYZZAABB"
Returns: "AAABBBCCDDEEFFGGHHYZZYHHGGFFEEDDCCBBBAAA"
"ASDFGHJKLQWERTYUIOPZXCVBASDFGHJKLPOIUYTREWQVBCXZ"
Returns: "ABCDEFGHIJKLOPQRSTUVWXYZZYXWVUTSRQPOLKJIHGFEDCBA"
"ABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRST"
Returns: "ABCDEFGHIJKLMNOPQRSTTSRQPONMLKJIHGFEDCBA"
"AZ"
Returns: ""
"AAZAA"
Returns: "AAZAA"
"AABBCCDDFFGGHHJJKKLLMMNNBBVVCCXXZZAAFFGG"
Returns: "AABBCCDFFGGHJKLMNVXZZXVNMLKJHGGFFDCCBBAA"
"ABBB"
Returns: ""
"ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX"
Returns: ""
"BABA"
Returns: "ABBA"
"AABBB"
Returns: "ABBBA"