LeetCode刷题日记 14. 最长公共前缀

    科技2026-04-05  9

    题目给出一个数组,数组中每项包含一个字符串,要求找出字符串数组中的最长公共前缀。代码如下:

    class Solution { public: string longestCommonPrefix(vector<string>& strs) { int len = strs.size(); //获取总字符串数量 int minlength = INT_MIN; //用于记录最短字符串长度,防止数组越界 string answer; //记录答案 int flag; //记录是否相等的状态 for(int i = 0; i < len; ++i) { if(strs[i].length() < minlength) minlength = strs[i].length(); //记录最短字符串 } for(int k = 0; k < minlength; ++k) { for(int j = 0; j < len - 1; ++j) { if(strs[j][k] == strs[j + 1][k]) //判断当前这个字符是否与下一个字符相等 { flag = 1; //相等继续循环 continue; } else { flag = 0; break; //不相等退出循环 } } if(flag == 1) answer += strs[0][k]; //如果相等,及将当前字符加入答案中 else break; //否则退出循环 } return answer; } };

     

    Processed: 0.013, SQL: 12