leetcode打卡day14

最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”] 输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”] 输出: “”
解释: 输入不存在公共前缀。
说明:所有输入只包含小写字母 a-z 。

思路:水平扫描法,令最长的字符串为ans并对其初始化,遍历字符串与ans比较,找出最长公共前缀,如果前缀不一样直接返回null。

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length==0){
            return "";
        }
        String ans=strs[0];
        for(int i=0;i<strs.length;i++){
            int j=0;
            for(;j<ans.length()&&j<strs[i].length();j++){
                if(ans.charAt(j)!=strs[i].charAt(j)) {
                    break;
                }
            }
                ans=ans.substring(0,j);
                if(ans.equals(""))
                return "";
            }
        return ans;
    }
}

执行用时 :2 ms, 在所有 Java 提交中击败了37.98%的用户
内存消耗 :37.1 MB, 在所有 Java 提交中击败了67.79%的用户

发布了20 篇原创文章 · 获赞 2 · 访问量 279

猜你喜欢

转载自blog.csdn.net/weixin_46442834/article/details/104870502
今日推荐