2018-11-30 最长公共前缀

题目:

最长公共前缀

解法:

比较简单, 直接拿其中一个字符串作为对比字符串, 然后从第一位开始往后对比. 如果有不相等的或者是超出字符串长度的, 便认为已经找到最长子串.

public String longestCommonPrefix(String[] strs) {
    if(strs==null || strs.length < 1){
        return "";
    }
    if(strs.length == 1){
        return strs[0];
    }

    String cmpStr = strs[0];
    int count = 0;
    // 是否找到最长子串了
    boolean isFind = false;
    while(count < cmpStr.length()){
        char cmpChar = cmpStr.charAt(count);
        for(int i=1; i< strs.length; i++){
            String str = strs[i];
            if( (str.length() == count) || (str.charAt(count) != cmpChar) ){
                isFind = true;
                break;
            }
        }
        if(isFind){
            break;
        }
        count++;
    }
    return cmpStr.substring(0, count);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 字符串匹配KMP算法详解 1. 引言 以前看过很多次KMP算法,一直觉得很有用,但都没有搞明白,一方面是网上很少有...
    张晨辉Allen阅读 2,430评论 0 3
  • 算法思想贪心思想双指针排序快速选择堆排序桶排序荷兰国旗问题二分查找搜索BFSDFSBacktracking分治动态...
    第六象限阅读 3,237评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不...
    曲终人散Li阅读 3,357评论 0 19
  • 2018年3月29日,天气晴,轻度扬沙。今天我没有送你上学。原因是你从早上起床就变成了小怪兽。各种不如意,...
    丑得想哭阅读 267评论 0 0