Created
July 1, 2018 03:20
-
-
Save GZShi/13f43acda6bf764149f07f3cd45fd83a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// url: https://leetcode-cn.com/problems/longest-common-prefix/description/ | |
// date: 2018-07-01 | |
// author: gzshi | |
/* | |
编写一个函数来查找字符串数组中的最长公共前缀。 | |
如果不存在公共前缀,返回空字符串 ""。 | |
示例 1: | |
输入: ["flower","flow","flight"] | |
输出: "fl" | |
示例 2: | |
输入: ["dog","racecar","car"] | |
输出: "" | |
解释: 输入不存在公共前缀。 | |
说明: | |
所有输入只包含小写字母 a-z 。 | |
*/ | |
class Solution { | |
public: | |
string longestCommonPrefix(vector<string>& strs) { | |
if (strs.size() == 0) return ""; | |
string& firstStr = strs[0]; | |
// 遍历 firstStr 的每一个字节 | |
for (int i = 0; i < firstStr.size(); ++i) { | |
char ch = firstStr[i]; | |
// 比较 strs 所有字符串的第 i 个字节,如果有不相等的,最长公共子串匹配结束 | |
for (int j = 1; j < strs.size(); ++j) { | |
if (ch != strs[j][i]) { | |
return firstStr.substr(0, i); | |
} | |
} | |
} | |
return firstStr; | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment