LC 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
swift 实现
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let strs = ["flower","flow","flight"]
//let strs = ["dog","racecar","car"]
//let strs = ["ab", "a"]
//let strs = ["flower","flower","flower","flower"]
print(longestCommonPrefix(strs))
}
func longestCommonPrefix(_ strs: [String]) -> String {
if strs.count == 0 {
return ""
}
if strs.count == 1 {
return strs[0]
}
// 按第一个字符串进行遍历
let array = Array(strs[0])
for i in 0..<array.count {
let c = array[i]
var index = 1
while index < strs.count {
let temp = Array(strs[index])
if temp.count > i {
if c != temp[i] {
if i > 0 {
return String(strs[0].prefix(i))
}
else {
return ""
}
}
}
else {
return String(strs[0].prefix(i))
}
index += 1
}
}
return strs[0]
}
}
思路: