Largest Palindromic Number
Published in
2 min readAug 21, 2022
You are given a string num
consisting of digits only.
Return the largest palindromic integer (in the form of a string) that can be formed using digits taken from num
. It should not contain leading zeroes.
Notes:
- You do not need to use all the digits of
num
, but you must use at least one digit. - The digits can be reordered.
Example 1:
Input: num = "444947137"
Output: "7449447"
Explanation:
Use the digits "4449477" from "444947137" to form the palindromic integer "7449447".
It can be shown that "7449447" is the largest palindromic integer that can be formed.
Example 2:
Input: num = "00009"
Output: "9"
Explanation:
It can be shown that "9" is the largest palindromic integer that can be formed.
Note that the integer returned should not contain leading zeroes.
Constraints:
1 <= num.length <= 105
num
consists of digits.
Solutions:
- What is palindrome? Please have a look here. Every number will repeats even number of times and one number can be odd number of times to be repeated.
- Since we have to find the largest palindrome, we have to start with largest number first. So achieve that, I used a heap data structure(TreeMap) to find the largest single digit number and its count.
- Managing ‘0’ is special. Number can not be…