算法题笔记-easy难度-04最长公共前缀(leetcode第14题)

153 阅读1分钟

题目地址:leetcode-cn.com/problems/lo…

思路:取出第一个字符串,从第二个字符串开始循环。一个字符一个字符进行对比,一直到字符不一样为止。然后对这个字符串进行截串,获取此次循环的公共字符串。如果这次循环没有公共字符串,那么表示这一组字符串不存在公共字符串,可直接返回空字符串。

上代码:

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length == 0) {
            return "";
        }
        // 取第一个字符串
        String ans = strs[0];
        // 从第二个元素开始遍历
        for(int i=1;i<strs.length;i++) {
            String str = strs[i];
            int j=0;
            for(;j<str.length()&&j<ans.length();j++) {
                if(ans.charAt(j) != str.charAt(j)) {
                    break;
                }
            }
            ans = ans.substring(0,j);
            if("".equals(ans)) {
                return "";
            }
        }
        return ans;
    }
}