[LeetCode][Python]14. Longest Common Prefix

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

思路:

  1. 找出所有字符串共同的前綴蛮放。以第一個字符串為標的映皆,依次進行比較亡问。
  2. 設(shè)置共同前綴的index為0主穗,最小長度是所有字符串長度中最小的那個葡粒。依次比較strs中的元素须眷,如果不等征懈,就返回第一個字符串到index長度的slice。index加一俏扩,直至大于最小長度糜工。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

class Solution(object):
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        if len(strs) == 0:
            return ""

        longest = len(strs[0])
        for e in strs[1:]:
            index = 0
            while index < len(e) and index < longest and strs[0][index] == e[index]:
                index += 1
            longest = min(index, longest)
        return strs[0][:longest]

    def longestCommonPrefix2(self, strs):
        if len(strs) <= 1:
            return strs[0] if len(strs)==1 else ""

        end, minlength = 0, min([len(s) for s in strs])
        while (end < minlength):
            for i in xrange(1, len(strs)):
                if strs[i][end] != strs[i-1][end]:
                    return strs[0][:end]
            end += 1
        return strs[0][:end]

if __name__ == '__main__':
    sol = Solution()

    strs = ["abcd", "abcde", "abcdef"]
    strs = ["a", "b"]

    print sol.longestCommonPrefix(strs)
    print sol.longestCommonPrefix2(strs)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市录淡,隨后出現(xiàn)的幾起案子捌木,更是在濱河造成了極大的恐慌,老刑警劉巖嫉戚,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刨裆,死亡現(xiàn)場離奇詭異,居然都是意外死亡彬檀,警方通過查閱死者的電腦和手機帆啃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窍帝,“玉大人努潘,你說我怎么就攤上這事。” “怎么了慈俯?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拥峦。 經(jīng)常有香客問我贴膘,道長,這世上最難降的妖魔是什么略号? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任刑峡,我火速辦了婚禮,結(jié)果婚禮上玄柠,老公的妹妹穿的比我還像新娘突梦。我一直安慰自己,他們只是感情好羽利,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布宫患。 她就那樣靜靜地躺著,像睡著了一般这弧。 火紅的嫁衣襯著肌膚如雪娃闲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天匾浪,我揣著相機與錄音皇帮,去河邊找鬼。 笑死蛋辈,一個胖子當(dāng)著我的面吹牛属拾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冷溶,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼渐白,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了挂洛?” 一聲冷哼從身側(cè)響起礼预,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虏劲,沒想到半個月后托酸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡柒巫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年励堡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堡掏。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡应结,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鹅龄,我是刑警寧澤揩慕,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站扮休,受9級特大地震影響迎卤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜玷坠,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一蜗搔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧八堡,春花似錦樟凄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溶耘,卻和暖如春二拐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凳兵。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工百新, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人庐扫。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓饭望,卻偏偏與公主長得像,于是被迫代替她去往敵國和親形庭。 傳聞我的和親對象是個殘疾皇子铅辞,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容