Passion and Patience

Work Hard, Play Hard

导航

Leecode 最长公共前缀

Day 1 刷题

此题没有写出来,仅附上力扣官方代码:

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs == null||strs.length ==0){
            return "";
        }
        String prefix  = strs[0];
        int count = strs.length;
        for (int i=1;i<count;i++){
            // wrapper method! so good!
            prefix = CommonPrefix(prefix,strs[i]);
            if(prefix.length()==0){
                break;
              } 
        }
        return prefix;
    }

    public String CommonPrefix(String str1,String str2){
        int length = Math.min(str1.length(),str2.length());
        int index = 0;
        // not satisfying,will break?
        while(index<length&&str1.charAt(index)==str2.charAt(index)){
            index++;
        }
        return str1.substring(0,index);
    }
}

将多个字符串利用子方法CommonPrefix()可以便捷调用,以避免在main方法里反复使用for循环遍历。同时要注意,字符串为空,可能不指向任何对象或者空(null || string.length ==0)

posted on 2024-03-17 17:09  安静的聆  阅读(7)  评论(0编辑  收藏  举报