diff options
Diffstat (limited to 'works')
| -rw-r--r-- | works/solutions/cpp/14.cpp | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/works/solutions/cpp/14.cpp b/works/solutions/cpp/14.cpp new file mode 100644 index 0000000..c1619b8 --- /dev/null +++ b/works/solutions/cpp/14.cpp @@ -0,0 +1,35 @@ +#include <string> +#include <vector> + +using std::string; +using std::vector; + +class Solution +{ +public: +    string longestCommonPrefix(vector<string> &strs) +    { +        if (strs.empty()) +            return ""; + +        string result; + +        const auto &first = strs.front(); + +        for (int i = 0; i < first.size(); i++) +        { +            char c = first[i]; + +            for (int j = 1; j < strs.size(); j++) +            { +                if (strs[j][i] != c) +                    goto r; +            } + +            result.push_back(c); +        } + +    r: +        return result; +    } +}; | 
