Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author : Saurav Kalsoor
- // Sort By Reversing Digits - JAVA
- import java.util.*;
- public class Test {
- static Scanner sc = new Scanner(System.in);
- public static void main(String[] args) {
- int n = sc.nextInt();
- ArrayList<Integer> arr = new ArrayList<>();
- for(int i=0; i < n; i++) {
- int input = sc.nextInt();
- arr.add(input);
- }
- ArrayList<Integer> result = sortByDigits(arr);
- for(int i=0; i < n; i++)
- System.out.print(result.get(i) + " ");
- System.out.println();
- }
- public static ArrayList<Integer> sortByDigits(ArrayList<Integer> arr){
- Collections.sort(arr, new SortByReversingDigits());
- return arr;
- }
- }
- class SortByReversingDigits implements Comparator<Integer> {
- public int compare(Integer a, Integer b){
- int revA = reverseDigits(a), revB = reverseDigits(b);
- if(revA == revB){
- return a - b;
- }
- else{
- return revA - revB;
- }
- }
- public int reverseDigits(int n){
- int rev = 0;
- while(n > 0){
- rev = rev * 10;
- rev = rev + n%10;
- n = n/10;
- }
- return rev;
- }
- }
Add Comment
Please, Sign In to add comment