Largest Number After Digit Swaps by Parity LeetCode solution in Java
1class Solution {2public int largestInteger(int num) {3PriorityQueue<Integer> opq = new PriorityQueue<>();4PriorityQueue<Integer> epq = new PriorityQueue<>();5int bnum = num;6while (num > 0) {7int cur = num % 10;8if (cur % 2 == 1) {9opq.add(cur);10} else {11epq.add(cur);12}13num /= 10;14}15StringBuilder sb = new StringBuilder();16num = bnum;17while (num > 0) {18int cur = num % 10;19if (cur % 2 == 1) sb.insert(0, opq.poll());20else sb.insert(0, epq.poll());21num /= 10;22}23return Integer.parseInt(sb.toString());24}25}