Leetcode 14. Longest Common Prefix

題目

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

分析

尋找一組字符串中的最長公共前綴字符串。
可以通過挨個進行分析,兩個兩個的對比,最后找出公共前綴。
也可以挨個字符對比,看每個字符串都有沒有,找到某位的字符不相同時即可。
下面的C代碼已通過。

char* longestCommonPrefix(char** strs, int strsSize) {
    char *ans=(char *)malloc(sizeof(char)*1000);
    if(strsSize==0)return "";
    if(strsSize==1)return strs[0];
    int length=0;
    while(strs[0][length]!='\0'&&strs[1][length]!='\0'&&strs[0][length]==strs[1][length])
    {
        ans[length]=strs[0][length];
        length++;
    }
    for(int i=2;i<strsSize;i++)
    {
        int temp=0;
        while(strs[i][temp]!='\0' && temp<length && strs[i][temp]==ans[temp])
            temp++;
        if(temp<length)length=temp;
    }
    ans[length]='\0';
    return ans;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容