博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最长的共同前缀
阅读量:6838 次
发布时间:2019-06-26

本文共 716 字,大约阅读时间需要 2 分钟。

我用的方法是,同时保存每个 string 的begin 迭代器,让他们一起移动,然后统一比较,若是不同,或其中有的已经到了 end() ,那么就返回。否则所有的迭代器共同前进一步。

string longestCommonPrefix(vector
& strs) { if (strs.empty()){ return string(); } vector
its; for_each(strs.begin(), strs.end(), [&](string& s){its.push_back(s.begin());}); const auto len = its.size(); for (;;){ const auto key = *its[0]; for (size_t i = 0; i != len; ++i){ if (its[i] == strs[i].end() || *its[i] != key){ return string(strs[i].begin(), its[i]); } } for_each(its.begin(), its.end(), [](string::iterator& it){++it;}); }}

 

转载于:https://www.cnblogs.com/wuOverflow/p/4758268.html

你可能感兴趣的文章
浏览器事件window.onload、o…
查看>>
对象回收时Weak指针自动被置为nil的实现原理
查看>>
php URLEncode() / php URLEncode函数 php urldecode...
查看>>
phpunit mock
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
mac常用的命令
查看>>
knn 分类
查看>>
【总结】Hadoop中的MultipleOutputs实践
查看>>
测试常见问题
查看>>
SHOP++ 中Hibernate 注解 用法
查看>>
jQuery EasyUI使用教程之创建基本的树网格
查看>>
Fluentd日志处理-插件使用和调试问题(四)
查看>>
实验四 交换机SPAN功能配置 (交换与路由技术)
查看>>
centos7源码安装php5.6并安装pthreads扩展
查看>>
网络基础~linux路由与网关、路由命令
查看>>
强大的联想4U机架式服务器ThinkSystem SR950
查看>>
美国防部:美国×××防御系统存在诸多安全问题
查看>>
阿里云搭建lamp平台
查看>>
Reverse Integer之Java实现
查看>>
Linux的SSH服务初学
查看>>