最近怎么接连都是字符串处理,没有太多算法理论,但是实用性非常强。我敢说大部分非服务器端 C++ 程序员的工作 80% 都是字符串处理,而 LeetCode 这几道题简直是小儿科而已。
这道题,求最长公共前缀,最自然的思路,就是抓住第一个字符串,然后迭代出它所有前缀,和后面的字符串一一比较。
实质上就是两个迭代,一个是刚才说的,对第一个字符串子串的迭代,第二个,就是整个 vector 的迭代。
唯一值得注意的就是,第二次迭代过程中,要先判断遇到字符串的长度,是否已经小于子串了,如果那样的话,就应该直接结束迭代,返回子串。
效率竟然是最高,估计没有太多人为这道题花心思想更优的办法了吧。