程序员面试的那些小事程序员架构算法设计模式和编程理论

lintcode 最长公共前缀

2017-01-13  本文已影响174人  yzawyx0220

给k个字符串,求出他们的最长公共前缀(LCP)
样例
在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A"
在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"
题目链接:http://www.lintcode.com/zh-cn/problem/longest-common-prefix/
方法比较简单,就是一次比较每个字符,如果都相等,那么长度加1.

class Solution {
public:    
    /**
     * @param strs: A list of strings
     * @return: The longest common prefix
     */
    string longestCommonPrefix(vector<string> &strs) {
        // write your code here
        string res;
        if (strs.size() == 0) return "";
        for (int i = 0;i < strs[0].size();i++) {
            int j = 1;
            for (j;j < strs.size();j++) {
                if (strs[0][i] != strs[j][i]) return res;
            }
            if (j == strs.size()) res = res + strs[0][i];
        }
        return res;
    }
};
上一篇下一篇

猜你喜欢

热点阅读