我想检查字符串是否包含相同的字符。例如 我的字符串是:
BCE
CE
我希望结果为,
BEC = BCE //true
ECB = BCE //true
CEB = BCE //true
CBE = BCE //true
EBC = BCE //true
CE = EC //true
答案 0 :(得分:5)
字符串可以隐式转换为集合,集合具有toSet
方法,使内容成为集合,集合标识与顺序无关。
答案 1 :(得分:4)
考虑这种方法,
implicit class RichString(val s1: String) extends AnyVal {
def sameAs(s2: String) = s1.sorted == s2.sorted
}
像这样使用"CBE".sameAs("BCE")
。
答案 2 :(得分:1)
从您的示例中可以看出,您只想检查字符串是否是另一个字符串的排列。一种快速的方法是对字符进行排序并比较结果。一种更有效的方法是构建其中一个字符串的直方图,然后遍历另一个字符串,并在第二个字符串中找到每个字符串时减少直方图计数。如果最后你有一个空的直方图,字符串是相同的。