题解 | #最长公共前缀#

最长公共前缀

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param strs string字符串一维数组 
     * @return string字符串
     */
    public String longestCommonPrefix (String[] strs) {
        if(strs.length==0){
            return "";
        }
        else if(strs.length==1){
            return strs[0];

        }else if(strs.length==2){
            return ustr(strs[0],strs[1]);
        }
        else{
            String res="";
            //取前两个串的最长公共前缀作为对比标准
            res=ustr(strs[0],strs[1]);
            //将i之前的最长公共前缀与第i个串进行比较
            for(int i=2;i<strs.length;i++){
                res=ustr(res,strs[i]);
            }

            return res;
        }
    }
    //返回两串的最长公共前缀
    public String  ustr(String a,String b){
        String r="";
        String maxs=a.length()>b.length()?a:b;
        String mins=a.length()>b.length()?b:a;
        for(int i=0;i<mins.length();i++){
            if(mins.charAt(i)==maxs.charAt(i)){
                r+=mins.charAt(i);
            }
        }
        return r;
    }
}

全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务