上一篇博客:Leetcode 13.罗马数字转整数(字符串) 写在前面:大家好!我是 原题链接:LeetCode 14.最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 输入: [“flower”,“flow”,“flight”] 输入: [“dog”,“racecar”,“car”] 所有输入只包含小写字母 最简单的思路就是从前往后循环遍历每一个字符串的每一位,使用两重循环,第一重循环 i 用来记遍历的字符串的第几位,第二重循环 j 用来记录遍历到第几个字符串。 依次将每一个字符串的每一位与第一个字符串对应位置的字符进行比较,如果当前位置所有的字符都相同那么就将其加入到返回结果 ans 中,否则就直接将当前 ans 中的值 还有一种情况就是遇到更短的字符串的时候,也说明当前的 ans 就是最长的公共前缀,此时也直接 未完待续,持续更新中……ACfun
,我的昵称来自两个单词Accepted
和fun
。我是一个热爱ACM的蒟蒻。最近萌生了刷LeetCode的想法,所以我打算从LeetCode简单的题目开始做起,攻陷LeetCode。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭!
用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง
题目信息
题目描述
""
。示例
示例 1
输出: “fl”示例 2
输出: “”
解释: 输入不存在公共前缀。说明
a-z
。题解
解题思路
return
,因为已经遇到不同的字符了,说明当前的 ans 就是最长的公共前缀了。return ans;
即可。还要特别注意输入字符串为空的情况,如果 strs 是一个空的vector
,那么我们直接返回空的 ans 即可。所以在进行遍历之前我们需要首先特判一下 strs 是否为空。
解题代码
class Solution { public: string longestCommonPrefix(vector<string>& strs) { string ans = ""; if (strs.empty()) return ans; for (int i = 0; i < strs[0].size(); i++) { char ch = strs[0][i]; for (int j = 0; j < strs.size(); j++) { if (strs[j].size() <= i || strs[j][i] != ch) { return ans; } } ans += ch; } return ans; } };
提交情况
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算