原题链接https://leetcode.cn/classic/problems/longest-common-prefix/description/
程序中使用了 strs[]和strs[][]
之前一直不明白为什么string对应的二维数组(strs[][])是什么意思
现在明白了
string s----s[]
string s[]-----s[][]
(还有一个细节,就是如果不存在公共子串的话,输出"",所以程序里面有return "")
代码
class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.size() == 0) return ""; //先从strs[0]开始,与后面一个比较 string ans = strs[0]; for(int i = 1; i < strs.size(); i++) { //保存上次的公共前缀 string s = ans; ans = ""; for(int j = 0; j <strs[i].size(); j++) { if(s[j] == strs[i][j])//相当于是一个一个比较 { ans += s[j]; } //遇到不一样的就退出循环 else { break; } } if(ans == "") break; } return ans; } };
Code over!