首页 > 其他 > 详细

14. Longest Common Prefix

时间:2016-02-21 21:08:54      阅读:115      评论:0      收藏:0      [点我收藏+]

Write a function to find the longest common prefix string amongst an array of strings.

AC方法:

class Solution(object):
    def longestCommonPrefix(self, strs):
        common_prefix = ‘‘ if not strs else strs[0]
        for v in strs:
            if v == ‘‘:
                return ‘‘
            for i, vi in enumerate(v):
                if i < len(common_prefix) and vi == common_prefix[i]:
                    continue
                else:
                    i -= 1
                    break
            common_prefix = common_prefix[:i + 1];
        return common_prefix

既然是用的Python,有更为优雅和高效的方法:

class Solution(object):
    # version for python, faster and elegant
    def longestCommonPrefix(self, strs):
        zip_strs, prefix = zip(*strs), ‘‘
        for v in zip_strs:
            if len(set(v)) > 1: break
            prefix += v[0]
        return prefix

核心就是zip和set函数,详细用法可查api。

14. Longest Common Prefix

原文:http://www.cnblogs.com/zhuifengjingling/p/5205429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!