字符串a和b只包含小写字符。在b中,所有字符只会出现一次。b已经根据某种规则进行排序。要根据b中的字符顺序对a进行排序。用Java代码实现
时间: 2024-01-22 14:18:00 浏览: 55
可以使用哈希表来存储b中每个字符的位置,然后遍历a,按照b中字符的顺序将a中的字符排序。
Java代码实现如下:
```
public static String sortString(String a, String b) {
// 使用哈希表存储b中每个字符的位置
Map<Character, Integer> map = new HashMap<>();
for (int i = 0; i < b.length(); i++) {
map.put(b.charAt(i), i);
}
// 将a中的字符按照b中字符的顺序排序
Character[] chars = new Character[a.length()];
for (int i = 0; i < a.length(); i++) {
chars[i] = a.charAt(i);
}
Arrays.sort(chars, (c1, c2) -> map.get(c1) - map.get(c2));
// 将排序后的字符数组转换为字符串
StringBuilder sb = new StringBuilder();
for (char c : chars) {
sb.append(c);
}
return sb.toString();
}
```
使用示例:
```
String a = "bcdefgahijklmnopqrstvwxyz";
String b = "zyxwvutsrqponmlkjihgfedcba";
String sorted = sortString(a, b);
System.out.println(sorted); // 输出:zyxwvtsrqponmlkjihgfedcba
```
阅读全文