Largest Palindromic Number

Omar Faroque
Algorithm and DataStructure
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:

  1. 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.
  2. 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.
  3. Managing ‘0’ is special. Number can not be…

--

--