14.最長公共前綴

題目描述:
編寫一個函數來查找字符串數組中的最長公共前綴。
如果不存在公共前綴,返回空字符串 ""。
示例 1:
輸入: ["flower","flow","flight"]
輸出: "fl"
示例 2:
輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共前綴。
說明:
所有輸入只包含小寫字母 a-z 。

思路:
1.按順序比較下來:3個字符串的最長公共前綴一定被包含在前2個字符串的最長公共前綴之中,同理,N個字符串的前綴一定是其中(N-1)個字符串的最長公共前綴與第N個字符串的最長公共前綴。
2。關于 for auto::
想要拷貝元素:for(auto x:range)
想要修改元素 : for(auto &&x:range)
想要只讀元素:for(const auto& x:range)
3.
關于substr*:
形式:s.substr(pos, n)
解釋:返回一個string,包含s中從pos開始的n個字符的拷貝(pos的默認值是0,n的默認值是s.size() - pos,即不加參數會默認拷貝整個s)
代碼:

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        string r = strs.size()?strs[0]:"";
        //第一句代碼含義為:若有輸入值,則字符串r的值即為數組第一個字符串,否則為空字符串
        for(auto s:strs)//將每一個str拷貝給s
        {
            while(r!=s.substr(0,r.size()))
            {
                r=r.substr(0,r.size()-1);
                if(r=="")
                    return "";
            }
            //當下一個字符串的r長度的前綴不等于r時,就讓r的長度減1
        }
        return r;
    }
};
image.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 題目描述 編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。 示例 輸入: [...
    不要甜的紅燒肉閱讀 750評論 0 0
  • 14.最長公共前綴 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴,返回空字符串""。 示例1...
    不愛去冒險的少年y閱讀 291評論 0 0
  • 一、題目 編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。示例 1: 示例 ...
    Mage閱讀 701評論 0 0
  • 今天,我和媽媽一起去逛街,看了衣服和鞋子。我看見媽媽身上穿的衣服,但我從沒見她買過,于是我就問媽媽,她這件衣服什么...
    泥鰍11閱讀 98評論 0 0
  • 現(xiàn)在已經進入三月份了 我的舞蹈開始有些變化 因為,在上周我臨時決定加上爵士舞的部分 后期還是要把舞蹈音樂混合一起 ...
    李_昀倩閱讀 129評論 0 2

友情鏈接更多精彩內容