leetcode14. 最长公共前缀

2018-09-16  本文已影响8人  冰源
编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。
示例 1:
---
输入: ["flower","flow","flight"]
输出: "fl"
示例 2:
---
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
//cpp
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size()==0)
        return ""; ////输出的情况要考虑清楚4,[]
        string res = "";
        char temp;
        int j = 0, i = 1;
        for (j = 0; j<strs[0].length(); j++)
        {
            temp = strs[0][j];
            for (i = 1; i<strs.size(); i++)
            {
                if (strs[i][j] == '\0') return res; //输出的情况要考虑清楚1,["abc","ab"]
                else if (strs[i][j] == temp) continue;
                else break;  //退出的情况考虑清楚
            }
            if (i == strs.size()) res += temp;
            else if(i != strs.size()) return res; //输出的情况要考虑清楚2,["abc","ad"]
        }
        return res; //输出的情况要考虑清楚3,如[""]
    }
};
上一篇下一篇

猜你喜欢

热点阅读