LeetCode—114. Longest Common Prefix

LeetCode—114. Longest Common Prefix

题目

https://leetcode.com/problems/longest-common-prefix/description/
寻找最长公共前缀。给出字符串数组,找出数组中字符串的最长公共前缀。
在这里插入图片描述

思路及解法

分为2步:
1.找出数组中字符串的数量,最短的字符串长度
2.两层循环,外层拿出最短字符串中的每一个字符x,内层循环每一个字符串的对应位置,比较是否和x相等,如果相等,继续循环,否则返回到当前位置的子串即可。

代码

class Solution {
    public String longestCommonPrefix(String[] strs) {
        int arrNum = strs.length;
        if(arrNum==0) return "";
        int arrMinLen = Integer.MAX_VALUE;
        for(int i=0; i<arrNum; i++){
            arrMinLen = Math.min(arrMinLen, strs[i].length());
        }
        for(int i=0; i<arrMinLen; i++){
            char val = strs[0].charAt(i);
            for(int j=0; j<arrNum; j++){
                if(strs[j].charAt(i)!=val){
                    return strs[0].substring(0, i);
                }
            }
        }
        return strs[0].substring(0, arrMinLen);
    }
}

猜你喜欢

转载自blog.csdn.net/pnnngchg/article/details/82947750