LeetCode14.最长公共前缀

题目来源:https://leetcode-cn.com/problems/longest-common-prefix/description/

题目描述:

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例 1:

    输入: ["flower","flow","flight"]
    输出: "fl"

示例 2:

    输入: ["dog","racecar","car"]
    输出: ""
    解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

 代码如下:

    class Solution {
        public String longestCommonPrefix(String[] strs) {
            //公共前缀字符串的长度
            int index = 0;
            //如果字符串数组长度为零,则返回""
            if (strs.length == 0) {
                return "";
            }
            //外层for循环是遍历字符串数组中第一个字符串的每个字符
            for (int i = 0; i < strs[0].length(); i++) {
                //得到第一个字符串的第i个字符
                char current = strs[0].charAt(i);
                //内层foreach循环是拿current与每个字符串的第i个字符进行比较
                for (String str : strs) {
                    //比较过程中发现有不相等字符,或者有某个字符串的长度达到了i。
                    //则停止比较,返回第一个字符串中的公共部分,即(0,index)
                    if (str.length() == i || current != str.charAt(i)) {
                        return str.substring(0, index);
                    }
                }
                index++;
            }
            return strs[0].substring(0, index);
        }
    }
---------------------
作者:晨初听雨
来源:CSDN
原文:https://blog.csdn.net/qq_39241239/article/details/82319365
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-07-27 22:11  天涯海角路  阅读(143)  评论(0)    收藏  举报