LeetCode OJ:Longest Common Prefix(最长公共前缀)

Write a function to find the longest common prefix string amongst an array of strings.

求很多string的公共前缀,用个两重循环就可以,代码如下:

 1 class Solution {
 2 public:
 3     string longestCommonPrefix(vector<string>& strs) {
 4         string prefix;
 5         if(strs.size() == 0 || strs[0].size() == 0)
 6             return "";
 7         int start = 0;
 8         bool endLoop = false;
 9         char cmp = strs[0][0];
10         while(true && !endLoop){
11             cout << cmp << endl;
12             for(int i = 0; i < strs.size(); ++i){
13                 if(start >= strs[i].size() || cmp != strs[i][start]){
14                     endLoop = true;
15                     break;
16                 }
17             }    
18             if(!endLoop){
19                 start++;
20                 if(start < strs[0].size())
21                     cmp = strs[0][start];
22             }
23 
24         }
25         return strs[0].substr(0, start - 1);
26     }
27 };

 

转载于:https://www.cnblogs.com/-wang-cheng/p/4936996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值