Shuffle String
给一个string, 和一个index数字, 求按照index后重新排列的string.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class Solution { class Pair{ char c; int i; Pair(char c, int i) { this.c = c; this.i = i; } } public String restoreString(String s, int[] indices) { StringBuilder sb = new StringBuilder(); List<Pair> list = new ArrayList<>(); for(int i = 0; i < indices.length; i++) { list.add(new Pair(s.charAt(i), indices[i])); } Collections.sort(list, (a, b) -> (a.i - b.i)); for(Pair p : list) { sb.append(p.c); } return sb.toString(); } } |