假设:
let string a = "hello world"
和
let string b = "hello! world"
或
let string b = "hell world"
找到变化指数的最佳方法是什么? (5或4)
谢谢!
答案 0 :(得分:2)
你可以这样使用commonPrefix
:
let a = "hello world"
let b = "hello! world"
let index = a.commonPrefix(with: b).characters.count
print(index) // prints 5
请注意,a
和b
的顺序并不重要。
这是一个更新的函数,如果没有任何共同点,则返回nil
,否则返回更改的索引(之前的解决方案是错误的)。
func indexOfChangeBetween(a: String, and b: String) -> Int? {
var index = a.commonPrefix(with: b).characters.count
if index < 1 {
return nil
}
return index - 1
}
测试:
print(indexOfChangeBetween(a: "", and: "")) // nil
print(indexOfChangeBetween(a: "x", and: "")) // nil
print(indexOfChangeBetween(a: "", and: "x")) // nil
print(indexOfChangeBetween(a: "x", and: "x")) // 0
print(indexOfChangeBetween(a: "ab", and: "a")) // 0
print(indexOfChangeBetween(a: "a", and: "ab")) // 0
print(indexOfChangeBetween(a: "ab", and: "ab")) // 1
答案 1 :(得分:0)
您可以使用hashmap将字符串映射到地图 例如
关键:你好世界 价值:Hello world 如果key!= value,那么我们知道订单已被挂起。