编写一个函数来查找字符串数组中的最长公共前缀。

    如果不存在公共前缀,返回空字符串 “”。

    示例 1:

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

    示例 2:

    输入: [“dog”,”racecar”,”car”] 输出: “” 解释: 输入不存在公共前缀。

    说明:
    所有输入只包含小写字母 a-z 。
    相关标签
    字符串

    作者:力扣 (LeetCode)
    链接:https://leetcode-cn.com/leetbook/read/array-and-string/ceda1/

    1. class Solution {
    2. public:
    3. string longestCommonPrefix(vector<string>& strs) {
    4. // 判断字符串是否为空
    5. if (! strs.size()) {
    6. return "";
    7. }
    8. int length = strs[0].size(); // 首个字符串的长度
    9. int count = strs.size(); // 字符串数组的字符串个数
    10. // 开始纵向比较
    11. for (int i=0;i<length;++i) {
    12. char c = strs[0][i]; // 用来比较的字符c
    13. for (int j=1;j<count;++j) {
    14. if (i == strs[j].size() || strs[j][i] != c) {
    15. return strs[0].substr(0,i);
    16. }
    17. }
    18. }
    19. return strs[0];
    20. }
    21. };