fork download
  1. import java.util.List;
  2. import java.util.Arrays;
  3. import java.util.Collections;
  4. import java.util.Comparator;
  5. import java.util.Scanner;
  6.  
  7. public class Main
  8. {
  9. public static void main(String[] args)
  10. {
  11. Scanner s = new Scanner(System.in);
  12. while (s.hasNextLine())
  13. {
  14. List<String> array = Arrays.asList(s.nextLine().trim().split(" +"));
  15. Collections.sort(array, new StrCompare());
  16. System.out.println(array);
  17. for (String str : array)
  18. {
  19. System.out.print(str);
  20. }
  21. System.out.println();
  22. }
  23. }
  24. }
  25.  
  26. class StrCompare implements Comparator<String>
  27. {
  28. @Override
  29. public int compare(String s1, String s2)
  30. {
  31. int i;
  32. int length = s1.length() + s2.length();
  33. for (i = 0; i < length; i++)
  34. {
  35. char c1 = get(s1, s2, i), c2 = get(s2, s1, i);
  36. if (c1 != c2)
  37. {
  38. return (c1 > c2 ? -1 : 1);
  39. }
  40. }
  41. return 0;
  42. }
  43.  
  44. private char get(String s1, String s2, int index)
  45. {
  46. if (index < s1.length())
  47. return s1.charAt(index);
  48. else
  49. return s2.charAt(index - s1.length());
  50. }
  51. }
Success #stdin #stdout 0.11s 380672KB
stdin
854 854853 854855
72 727
stdout
[854855, 854, 854853]
854855854854853
[727, 72]
72772