Skip to content

Instantly share code, notes, and snippets.

@go-cristian
Created April 19, 2018 13:23
Show Gist options
  • Save go-cristian/8484031358f63faf1334a947adace829 to your computer and use it in GitHub Desktop.
Save go-cristian/8484031358f63faf1334a947adace829 to your computer and use it in GitHub Desktop.
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class FisrtThenLastOrder {
public static void main(String... args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
System.out.println(solution(number));
}
private static int solution(int number) {
List<Integer> numbers = orderedFrom(number);
return merge(numbers);
}
private static int merge(List<Integer> numbers) {
int number = 0;
int n = numbers.size();
for (int i = 0; i < n; i++) {
int exp = n - i - 1;
number += numbers.get(i) * Math.pow(10, exp);
}
return number;
}
private static List<Integer> orderedFrom(int number) {
LinkedList<Integer> numbers = new LinkedList<>();
while (number % 10 != number) {
int result = number % 10;
numbers.add(result);
number = number / 10;
}
numbers.add(number);
List<Integer> elements = new ArrayList<>();
while (!numbers.isEmpty()) {
if (!numbers.isEmpty()) elements.add(numbers.pollLast());
if (!numbers.isEmpty()) elements.add(numbers.pollFirst());
}
return elements;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment