Advertisement
Guest User

common_prefix

a guest
Oct 19th, 2019
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.50 KB | None | 0 0
  1. template <typename Container>
  2. auto common_prefix(Container const & strings)
  3. {
  4.     auto const first = std::begin(strings.front());
  5.     auto last = std::end(strings.front());
  6.     auto current_str = std::next(std::begin(strings));
  7.     auto const end_str = std::end(strings);
  8.    
  9.     while (current_str != end_str) {
  10.         auto [mismatch, _] = std::mismatch(
  11.             first, last,
  12.             current_str->begin(), current_str->end()
  13.         );
  14.         last = mismatch;
  15.         ++current_str;
  16.     }
  17.    
  18.     return std::string(first, last);
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement