Java ------ We Love Clear Code!

  • 22
    public String longestCommonPrefix(String[] strs) {
        if (strs == null) return null;
        if (strs.length == 0) return "";
        char[] first = strs[0].toCharArray();
        char[] last  = strs[strs.length - 1].toCharArray();
        int i = 0, len = Math.min(first.length, last.length);
        while (i < len && first[i] == last[i]) i++;
        return strs[0].substring(0, i);

  • 2

    nice code! You do not need take the min of the length of first and last, since after sorting the array first.length is guaranteed to be no more than last.length.

  • 2

    @mustangigem try sorting {"abcd", "az"} and you will find that length of first element is longer than the length of last element

  • 0

    I think this code will spend more Runtime and more space even though the code looks clear.

Log in to reply

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.