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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容