题解 | #最长公共前缀#

最长公共前缀

http://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param strs string字符串一维数组 
# @return string字符串
#
class Solution:
    def longestCommonPrefix(self , strs):
        if len(strs)==1:
            return strs[0]
        if len(strs)==0:
            return ""
        else:
            min_strlen=99999
            qianzhui_len=0 #记录前缀的最大长度
            min_short_str=''
            for i in strs:
                if min_strlen>len(i):
                    min_strlen=len(i)
                    min_short_str=i
            for i in range(min_strlen):#遍历每个串的第i个字母
                current_zimu=min_short_str[i]
                flag = True  # 假设当前的这个字母每个都有
                for j in strs:
                    if j[i]==current_zimu:
                        pass
                    else:
                        flag=False#遇到了不相等的,说明当前这个字母不属于前缀
                        break
                if flag==False:
                    break
                else:
                    qianzhui_len+=1
            return  min_short_str[:qianzhui_len]


全部评论

相关推荐

CrazyBucket:我今天下午也做梦在招聘会上面试一家小厂,给自己气笑了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务