Problem · String
Swap Parity
Learn this problemProblem statement
Given a number num, two adjacent digits can be swapped if their parity is the same, that is, both are odd or both are even. For example, (5,9) have the same parity, but (6,9) do not.
Find the largest number that can be created. The swap operation can be applied any number of times.
Function
getLargestNumber(num: String) → String
Complete the function getLargestNumber in the editor.
getLargestNumber has the following parameter:
string num: a string of digits
Returns
string: the largest number that can be created
Examples
Example 1
num = "7596801"return = "9758601"Let num = "7596801".
- Swap 5 and 9 -> "7956801"
- Swap 7 and 9 -> "9756801"
- Swap 6 and 8 -> "9758601"
Example 2
num = "0082663"return = "8662003"Zero is even parity, so swaps can be made until the digits are arranged as shown.
Constraints
- 1 ≤ length of
num≤ 10^5 numconsists of digits 0-9 only.