iT邦幫忙

2024 iThome 鐵人賽

0
佛心分享-刷題不只是刷題

刷經典 LeetCode 題目系列 第 59

經典LeetCode 14. Longest Common Prefix

  • 分享至 

  • xImage
  •  

這題是要找出多個字串的最長公共前綴。這是一個經典的字串處理問題,要求我們從一組字串中找出所有字串開頭共有的最長部分。

題目:

給定一個字串陣列 strs,找到該陣列中最長的公共前綴。如果沒有公共前綴,回傳空字串 ""

解題思路

比較所有字串每個字元的相同位置,直到找到不同的字元結束,

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if (strs.size() == 0) return "";
        if (strs.size() == 1) return strs[0];

        // 跟第一個字串逐一比對字元
        string commonPrefix;
        for (int i = 0; i < strs[0].size(); i++) {
            int count = 0;
            for (int j = 1; j < strs.size(); j++) {
                if (strs[0][i] != strs[j][i])
                    break;
                count++;
            }
            if (count == strs.size()-1)
                commonPrefix += strs[0][i];
            else
                break;
        }
        return commonPrefix;
    }
};

參考:
#14. Longest Common Prefix


上一篇
經典LeetCode 13. Roman to Integer
下一篇
經典LeetCode 101. Symmetric Tree
系列文
刷經典 LeetCode 題目66
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言