791. 自定义字符串排序

题目链接:力扣

思路:算是个简单题吧,中等有点过分了。用 map 通过 order 字符串重新定义下每个字符的大小关系,然后对 s 按照记录的大小关系排序即可。map 里面没有的字符,默认大小为任意一个值就可以了(因为可以在任意一个位置),我这里写的默认值是 0。

上代码:

class Solution {
    fun customSortString(order: String, s: String): String {
        val orderMap = HashMap()
        for (i in order.indices) {
            orderMap[order[i]] = i
        }
        return String(s.toList().sortedWith(Comparator { x1: Char, x2: Char ->
            (orderMap[x1] ?: 0) - (orderMap[x2] ?: 0)
        }).toCharArray())
    }
}

你可能感兴趣的:(leetcode,leetcode,自定义字符串排序)