每周一道算法題(十)

本周的算法題難度級別依舊是'Easy',也很簡單

題目:找出所有字符串中最長的公共前綴

思路:提供兩個(gè)思路祭阀,一個(gè)思路是兩個(gè)兩個(gè)字符串進(jìn)行比較谱轨,取出公共的前綴位數(shù)再和下一個(gè)字符串比較磺芭。另一個(gè)思路就是把第一個(gè)字符串的每一個(gè)字母分別和剩下所有的字符串的每一個(gè)字母比較

代碼:

//思路一:
char* longestCommonPrefix(char** strs, int strsSize) {
    if (strsSize == 0) return "";
    if (strsSize == 1) return *strs;
    //取第一個(gè)字符串的長度
    int len = strlen(strs[0]);
    for (int i = 0;i < strsSize - 1;i++) {
        //取當(dāng)前的字符串和下一個(gè)字符串長度短的長度
        int tempLen = strlen(strs[i]) < strlen(strs[i+1]) ? strlen(strs[i]) : strlen(strs[i+1]);
        for (int j = 0;j < tempLen && j < len;j++) {
            //比較當(dāng)前字符串和下一個(gè)字符串的元素是否一樣,如果不一樣斟湃,記錄數(shù)字
            if (strs[i][j] != strs[i+1][j]) {
                len = j;
                break;
            }
        }
        //取短的長度
        len = len < tempLen ? len : tempLen;
    }
    if (len == 0) return "";
    char *result = malloc(len+1);
    //記錄第一個(gè)字符串公共的部分
    for (int i = 0;i < len; i++)
        result[i] = strs[0][i];
    result[len] = '\0';
    return result;
}
//思路2
char* longestCommonPrefix(char** strs, int strsSize) {
    if (strsSize == 0) return "";
    if (strsSize == 1) return *strs;
    //stop:是否停止循環(huán) len:公共長度
    int stop = 0,len = 0;
    for (;len < strlen(*strs); len++ ) {
        for (int i = 1;i < strsSize;i++) {
            //比較所有字符串的共同位置联予,如果不相同或者長于某一個(gè)字符串的長度則停止循環(huán) 返回字符串
            if (strs[0][len] != strs[i][len] || len > strlen(strs[i])) {
                stop = 1;
                break;
            }
        }
        if (stop) break;
    }
    if (len == 0) return "";
    char *result = malloc(len+1);
    for (int i = 0;i < len; i++) 
        result[i] = strs[0][i];
    result[len] = '\0';
    return result;
}

這題的思路很簡單,但實(shí)現(xiàn)起來確會出現(xiàn)很多問題率翅,比如內(nèi)存之類的练俐,C語言真不好用。冕臭。腺晾。

版權(quán)聲明:本文為 Crazy Steven 原創(chuàng)出品,歡迎轉(zhuǎn)載辜贵,轉(zhuǎn)載時(shí)請注明出處!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悯蝉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子托慨,更是在濱河造成了極大的恐慌鼻由,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厚棵,死亡現(xiàn)場離奇詭異蕉世,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)婆硬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門狠轻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人彬犯,你說我怎么就攤上這事向楼〔榈酰” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵湖蜕,是天一觀的道長逻卖。 經(jīng)常有香客問我,道長昭抒,這世上最難降的妖魔是什么箭阶? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮戈鲁,結(jié)果婚禮上仇参,老公的妹妹穿的比我還像新娘。我一直安慰自己婆殿,他們只是感情好诈乒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著婆芦,像睡著了一般怕磨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上消约,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天肠鲫,我揣著相機(jī)與錄音,去河邊找鬼或粮。 笑死导饲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的氯材。 我是一名探鬼主播渣锦,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼氢哮!你這毒婦竟也來了袋毙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冗尤,失蹤者是張志新(化名)和其女友劉穎听盖,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裂七,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡皆看,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碍讯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悬蔽。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捉兴,靈堂內(nèi)的尸體忽然破棺而出蝎困,到底是詐尸還是另有隱情,我是刑警寧澤倍啥,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布禾乘,位于F島的核電站,受9級特大地震影響虽缕,放射性物質(zhì)發(fā)生泄漏始藕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一氮趋、第九天 我趴在偏房一處隱蔽的房頂上張望伍派。 院中可真熱鬧,春花似錦剩胁、人聲如沸诉植。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晾腔。三九已至,卻和暖如春啊犬,著一層夾襖步出監(jiān)牢的瞬間灼擂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工觉至, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剔应,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓语御,卻偏偏與公主長得像领斥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子沃暗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • 本周的算法題難度級別“Medium”,用了我三天工作之余的時(shí)間月洛,總算過了,效率較低 題目:給你一串?dāng)?shù)字孽锥,在9宮格鍵...
    CrazySteven閱讀 1,181評論 0 3
  • 打開這本書嚼黔,便看到了一句愛默生的話:好奇是高尚的情感。短短一句話惜辑,便讓人產(chǎn)生無數(shù)遐想唬涧。新聞的歷史可以被追...
    心已晴閱讀 1,329評論 0 3
  • 先帝深慮漢、賊不兩立盛撑,王業(yè)不偏安碎节,故托臣以討賊也。以先帝之明抵卫,量臣之才狮荔,固知臣伐賊胎撇,才弱敵強(qiáng)也。然不伐賊殖氏,王業(yè)...
    百無一用知止閱讀 1,677評論 0 0
  • 前天我一個(gè)人(手動加粗)去了大名鼎鼎舉世聞名全球最大的Orlando Disney World雅采,買票時(shí)候看到有個(gè)m...
    沈沉舟閱讀 1,686評論 5 6