LeetCode solutions

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

Read the problem on LeetCode View on GitHub

Python

Accepted on LeetCode — runtime 0ms, memory 17.2MB, accepted 2025-12-29.

python
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))

Source