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; + } +}; |