题目描述
分析
给定数组求解最长公共前缀。我采用的思路是逐个字符串遍历,比对并修正公共前缀。比如先把第一个字符串作为前缀,然后取第二个字符串进行比对,若第二个字符串没有这个前缀,则把前缀尾部去掉一个字符,通过wihle循环再次进行比对,直到成为了第二个字符串的前缀或者长度减为0。另外别忘了对数组长度为0和1的两种情况做特殊返回。
题解
class Solution {
func longestCommonPrefix(_ strs: [String]) -> String {
if strs.count == 0 {
return "";
}
if strs.count == 1 {
return strs.first!
}
var result = strs.first!
for i in 1..<strs.count {
while !strs[i].hasPrefix(result) {
result = String(result.prefix(result.count-1))
if result.count == 0 {
return ""
}
}
}
return result
}
}