# 14_Longest_Common_Prefix ###### tags: `leetcode` ## Problem Statement 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 1: > Input: strs = ["flower","flow","flight"] > Output: "fl" - Example 2: > Input: strs = ["dog","racecar","car"] > Output: "" > Explanation: There is no common prefix among the input strings. - Constraints: > 0 <= strs.length <= 200 > 0 <= strs[i].length <= 200 > strs[i] consists of only lower-case English letters. ## Solution - Use control variable ```f``` to see whether comparison is still needed. - This question only need to compare the front elements. Therefore, see whether it fits for every string in the same position. ```cpp= bool f = !(strs.size() > 0); while (!f){ if (strs[0].size() <= j) { j++; break; } for (int i = 1; i < strs.size(); i ++){ if (strs[i].size() <= j || strs[i][j] != strs[0][j]) {f = true; break;} } j ++; } ``` - Return the element that fits. ```cpp= return j-1 >= 0 ? strs[0].substr(0, j-1) : ""; ```