首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

4.最长公共前缀

题目描述:

编写一个函数来查找字符串数组中最长的公共前缀字符串。

解题思路:

字符串数组为空则返回””;

字符串数组不为空:以第一个字符串为参照,遍历第一个字符串的每个字符str[i],当其他字符串相同位置的字符,有一个与str[i]不相同(或其他字符串已结束),则退出遍历,返回之前相同的前缀;

若所有字符串全部相同,则最后返回第一个字符串即可。

(如,["abcd","abc","abd"],

第一个字符串的str[0][0]=’a’,str[1][0]=’a’,str[2][0]=’a’,三个字符串的第0位都相等,继续遍历;

str[0][1]=’b’,所有字符串的第1位也都相等,继续遍历;

str[0][2]=’c’,而str[2][2]=’d’,出现不等,因此返回之前相等的前缀”ab”。)

代码实现:

class Solution {

public:

string longestCommonPrefix(vector& strs) {

if(strs.size() == 0) return "";

for(int i = 0; i

for(int j = 1; j

if(i >= strs[j].length() || strs[j][i] != strs[0][i])

return strs[0].substr(0, i);

return strs[0];

}

};

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180401G18O6J00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券