tanchukw

Untitled

Sep 4th, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     string longestCommonPrefix(vector<string>& strs) {
  4.         if (!strs.size())
  5.             return "";
  6.         int sz = strs.size(), min_len = INT_MAX, min_len_index, pointer;
  7.         for (int i = 0; i < sz; ++i)
  8.         {
  9.             if (strs[i].size() < min_len)
  10.             {
  11.                 min_len = strs[i].size();
  12.                 min_len_index = i;
  13.             }
  14.         }
  15.  
  16.         pointer = strs[min_len_index].size() - 1;
  17.         for (int i = 0; i < sz && pointer >= 0; ++i)
  18.         {
  19.             int j = 0;
  20.             while (j <= pointer && strs[i][j] == strs[min_len_index][j])
  21.                 ++j;
  22.             --j;
  23.             if (j < pointer)
  24.                 pointer = j;
  25.         }
  26.         return strs[min_len_index].substr(0, pointer + 1);
  27.     }
  28. };
Advertisement
Add Comment
Please, Sign In to add comment