2327. Largest Number After Digit Swaps by Parity
My accepted Python solution to LeetCode problem 2327, Largest Number After Digit Swaps by Parity, running in 0ms.
- Difficulty: Easy
- Python
- Runtime 0ms
- Memory 17.2MB
- Updated
Read the problem on LeetCode View on GitHub
The problem statement is LeetCode’s and stays on their site. What follows is my accepted solution.
Python
Accepted on LeetCode — runtime 0ms, memory 17.2MB, accepted 2025-12-29.
class Solution:
def largestInteger(self, num: int) -> int:
s = list(str(num))
# Separate odd and even digits
even = sorted([d for d in s if int(d) % 2 == 0], reverse=True)
odd = sorted([d for d in s if int(d) % 2 == 1], reverse=True)
# Reconstruct the number
result = []
ei, oi = 0, 0
for d in s:
if int(d) % 2 == 0:
result.append(even[ei])
ei += 1
else:
result.append(odd[oi])
oi += 1
return int(''.join(result))