这个题有一点细节,所以就记录一下(可能不一定准确)
欢迎大家指出我的问题☺️
感谢大家的点赞和评论😉
原题链接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!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/131403.html