题目链接:https://leetcode.cn/problems/longest-common-prefix/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
class Solution { public: string longestCommonPrefix(vector<string>& strs) { int len = strs[0].length(); auto iter = strs.begin(); // get the length of shortest string for (; iter != strs.end(); iter++) { if (len > (*iter).length()) { len = (*iter).length(); } } int strpos = 0; // for walk through the string int vpos = 0; // for walk through the vector int vlen = strs.size(); bool stop = false; // find a different char between strings for(; strpos < len; strpos++) { vpos = 0; char s = strs[vpos][strpos]; for (; vpos < vlen; vpos++) { if (s != strs[vpos][strpos]) { stop = true; break; } } if (stop) { break; } } // append to new string base on the longest substring position string prefix; prefix.append(strs[0], 0, strpos); return prefix; } }; |