• 14_最长公共前缀_字符串_简单


    先对字符串排序,第一个和最后一个差别最大,计算差别最大的最小公共子串变为全局的最小公共子串

    package com.bupt;
    
    import java.util.Arrays;
    
    public class T14 {
        public String longestCommonPrefix(String[] strs) {
            Arrays.sort(strs);
            String a = strs[0];
            String b = strs[strs.length-1];
            int min = Math.min(a.length(),b.length());
            int commonLength = 0 ;
            for (int i = 0; i < min; i++) {
                if(a.substring(0,i+1).equals(b.substring(0,i+1))){
                    commonLength++;
                }else{
                    break;
                }
            }
            if(commonLength==0) return "";
            return a.substring(0,commonLength);
        }
        public static void main(String[] args) {
            String []strs = {"1flower","2flow","3flight"};
            System.out.println(new T14().longestCommonPrefix(strs));
        }
    }
    作者:你的雷哥
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    新浪微博采用Oauth发送图片和文字
    android proguard也有弱点
    POJ 2376
    POJ 3259
    POJ 2253
    POJ 1062
    POJ 2299
    POJ 2186
    POJ 1860
    POJ 2823
  • 原文地址:https://www.cnblogs.com/henuliulei/p/15345484.html
Copyright © 2020-2023  润新知