1. 程式人生 > >【LeetCode】#14最長公共字首(Longest Common Prefix)

【LeetCode】#14最長公共字首(Longest Common Prefix)

【LeetCode】#14最長公共字首(Longest Common Prefix)

題目描述

編寫一個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 “”。

示例

示例 1:

輸入: [“flower”,“flow”,“flight”]
輸出: “fl”

示例 2:

輸入: [“dog”,“racecar”,“car”]
輸出: “”
解釋: 輸入不存在公共字首。

Description

Write a function to find the longest common prefix string amongst an array of strings.
If there is no common prefix, return an empty string “”.

Example

Example 1:

Input: [“flower”,“flow”,“flight”]
Output: “fl”

Example 2:

Input: [“dog”,“racecar”,“car”]
Output: “”
Explanation: There is no common prefix among the input strings.

解法

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length==0)
            return "";
        StringBuilder sb = new StringBuilder();
        int i=0;
        while(true){
            if(i==strs[0].length())
                return sb.toString();
            char ch = strs[0].charAt(i);
            for(String str : strs){
                if(i==str.length() || ch != str.charAt(i))
                    return sb.toString();
            }
            sb.append(ch);
            i++;
        }
    }
}