算法系列——Longest Common Prefix最长公共前缀

来源:互联网 发布:瑞特优化 编辑:程序博客网 时间:2024/06/11 07:14

题目描述

Write a function to find the longest common prefix string amongst an array of strings.

解题思路

找字符串的最长公共前缀,比较简单。可以先找出最短的字符串。
然后将所有字符串左端对齐 以最短的字符串长度为边界范围,开始逐个字符扫描,直到遇到不相同的字符串 取子串即可。

程序实现

class Solution {    public String longestCommonPrefix(String[] strs) {        if(strs==null||strs.length==0)            return "";        String minLenStr=strs[0];        int minLen=minLenStr.length();        //找到最短的字符串        for(int i=1;i<strs.length;i++)            if(strs[i].length()<minLen){                minLen=strs[i].length();                minLenStr=strs[i];            }        for(int i=0;i<minLenStr.length();i++)            for(int j=0;j<strs.length;j++)                if(strs[j].charAt(i)!=minLenStr.charAt(i))                    return minLenStr.substring(0,i);        return minLenStr;    }}
原创粉丝点击