题解 | #最长公共前缀#

最长公共前缀

http://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

alt

char* longestCommonPrefix(char** strs, int strsLen ) {
    //如果字符串长度为0,则返回原字符串
    if(strsLen==0){
        return strs;
    }
    //初始化行列i,j
    int i=0,j=0;
    //从第一行第一列开始对比
    char flag=strs[0][i];    
    while(flag){
        //对比其他行同一列字符是否相同
        for(j=0;j<strsLen;j++){
            if(strs[j][i]!=flag){
                break;//一旦有字符不同,则跳出此for循环
            }
        }
        //如果j小于字符串长度,则跳出大while循环
        if(j<strsLen){
            break;
        }
        //如果前面没有跳出循环,则++i,flag变为下一个字符
        flag=strs[0][++i];
    }
    //把i位置赋值为'\0',c语言通过'\0'判断一个字符串
    strs[0][i]='\0';
    return strs[0];
}
全部评论

相关推荐

叁六玖:真绷不住了,可能它想逗逗你,让你开心一下
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
评论
8
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务