LongestCommonPrefix
标签(空格分隔): 数据结构
package java_algorithm;
public class LongestCommonPrefix{
public String longestCommonPrefix(String[]strs){
if(strs==null||strs.length==0)return"";
for(int i=0;i<strs[0].length();i++){
char c=strs[0].charAt(i);
for(int j=1;j<strs.length;j++){
if(i==strs[j].length()||strs[j].charAt(i)!=c)
return strs[0].substring(0,i);
}
}
return strs[0];
}}
class Solution:
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
if len(strs) == 0:
return 0
if len(strs) == 1:
return strs[0]
if "" in strs:
return 0
else:
i = 0
min_length = min(len(strs_si) for strs_si in strs)
while 1:
if i >= min_length:
return strs[0][:i]
tmp = strs[0][i]
for str_single in strs:
if len(str_single) < i + 1:
return str_single[:i]
if str_single[i] == tmp:
continue
else:
return str_single[:i]
i += 1
s = Solution()
s.longestCommonPrefix(["cc","c"])