采用纵向遍历,即对第一个字符串,取出第一个字符,检查是否出现在随后每一个字符串中,以此类推。当遍历完成或有一个字符串不符合要求,直接return。
class Solution { public: string longestCommonPrefix(vector<string>& strs) { string ans; char c; if(strs.size() < 1) return ans; for(int i=0; i<strs[0].size(); i++) { c = strs[0][i]; for(auto s : strs) if(i+1 > s.size() || c != s[i]) return ans; ans.push_back(c); } return ans; } };

本文介绍了一种使用C++实现的寻找多个字符串中最长公共前缀的算法。通过纵向遍历,逐个比较字符,直至所有字符串的当前位字符相同或遍历结束。此方法简洁高效,适用于多种编程竞赛及实际应用。
289

被折叠的 条评论
为什么被折叠?



