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) {
    if(strsSize == 0)   return "";
    if(strsSize == 1 || strs[0][0] == '\0')   return strs[0];

    char* pre=malloc((strlen(strs[0])+1) * sizeof(char));
    int k=0;    //pre的下标
    int i=0, j=0;
    
    while(strs[0][j]!='\0'){
        i = 0;
        while(i<strsSize-1 && strs[i][j]==strs[i+1][j])    i++;
        if(i==strsSize-1 && j>=0){
            pre[k++]=strs[i][j];
            j++;
        }
        else if(i!=strsSize-1 && j==0) return "";
        else{
            pre[k]='\0';    //一定不要忘记这个!!
            return pre;
        }
    }
    pre[k]='\0';    //一定不要忘记这个!!
    return pre;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值