zoukankan      html  css  js  c++  java
  • 14. Longest Common Prefix【leetcode】

    14. Longest Common Prefix
    Write a function to find the longest common prefix string amongst an array of strings.
    寻找一个数组中最长的公共前缀
    例如["baaa","caaabbb","aaaa"]输出“aaa”
    结题思路:
    1. 判断非空的情况在进行计算
    2. 取第一个字符串最为标杆进行对比,因为最终结果一定在第一位中
    3. 用第一个串进行逐个对比出最长的串
     
    public class Solution {
        public String longestCommonPrefix(String[] strs) {
            if(strs==null || strs.length==0)
                return "";
             String pr= strs[0];
    
            for(int i =1;i<strs.length;i++){
                //用j计算最长串的长度
                int j=0;
               
                while(j<pr.length()&&j<strs[i].length()&&pr.charAt(j)==strs[i].charAt(j)){
                    j++;
                }
                if(j==0){
                    return "";
                }
                pr =pr.substring(0,j);
            }
            
            return pr;
        }
    }

    注意:看到网上有帖子说进行排序,然后对比第一个和最后一个的公共序列,这样是不对的,因为如果中间的串没有公共序列时,返回结果错误

    不积跬步无以至千里,千里之堤毁于蚁穴。 你是点滴积累成就你,你的丝丝懒惰毁掉你。 与诸君共勉
  • 相关阅读:
    2020.11.6
    2020.7.15小日记
    P1536 村村通
    P1510 精卫填海
    P1020 导弹拦截
    P1164 小A点菜
    5.17练习总结
    P1135 奇怪的电梯
    P1101 单词方阵
    P1443 马的遍历
  • 原文地址:https://www.cnblogs.com/haoHaoStudyShare/p/7309155.html
Copyright © 2011-2022 走看看