您的位置:首页 > 编程语言 > Go语言

【Leetcode Algorithm】Longest Common Prefix

2015-07-02 15:09 453 查看
Write a function to find the longest common prefix string amongst an array of strings.自己的代码:
123456789101112131415161718192021222324252627282930
public
 
class
 
Solution {
    
public
 
String longestCommonPrefix(String[] strs) {
        
//当字符串数组strs为空,前缀为空字符串
        
if
(strs.length==
0
){
            
return
 
""
;
        
}
        
//定义初始前缀
        
String prefix = strs[
0
];
        
//将前缀和各字符串依次比较
        
for
(
int
 
i=
0
;i<strs.length;i++){
            
//如果前缀为空,或者字符串数组strs的某个子字符串为空,返回空字符串
            
if
(prefix.length()==
0
||strs[i].length()==
0
){
                
return
 
""
;
            
}
            
//找到前缀字符串和当前字符串之间的最短长度
            
int
 
len = Math.min(prefix.length(),strs[i].length());
            
//比较前缀字符串和当前字符串,找出公共前缀
            
int
 
j=
0
;
            
for
(;j<len;j++){
                
//如果有不同的字符,直接跳出循环
                
if
(prefix.charAt(j)!=strs[i].charAt(j)){
                    
break
;
                
}
            
}
            
//更新前缀
            
prefix = prefix.substring(
0
,j);
        
}
        
return
 
prefix;
    
}
}
Write a function to find the longest common prefix string amongst an array of strings.自己的代码:
123456789101112131415161718192021222324252627282930
public
 
class
 
Solution {
    
public
 
String longestCommonPrefix(String[] strs) {
        
//当字符串数组strs为空,前缀为空字符串
        
if
(strs.length==
0
){
            
return
 
""
;
        
}
        
//定义初始前缀
        
String prefix = strs[
0
];
        
//将前缀和各字符串依次比较
        
for
(
int
 
i=
0
;i<strs.length;i++){
            
//如果前缀为空,或者字符串数组strs的某个子字符串为空,返回空字符串
            
if
(prefix.length()==
0
||strs[i].length()==
0
){
                
return
 
""
;
            
}
            
//找到前缀字符串和当前字符串之间的最短长度
            
int
 
len = Math.min(prefix.length(),strs[i].length());
            
//比较前缀字符串和当前字符串,找出公共前缀
            
int
 
j=
0
;
            
for
(;j<len;j++){
                
//如果有不同的字符,直接跳出循环
                
if
(prefix.charAt(j)!=strs[i].charAt(j)){
                    
break
;
                
}
            
}
            
//更新前缀
            
prefix = prefix.substring(
0
,j);
        
}
        
return
 
prefix;
    
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode