题解 | 最长公共前缀

最长公共前缀

https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47?tpId=295&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if (strs.empty()) return "";
        string prefix = strs[0];
        for (int i = 1; i < strs.size(); i++) {
            int j = 0;
            while (j < prefix.size() && j < strs[i].size() && prefix[j] == strs[i][j]) {
                j++;
            }
            prefix = prefix.substr(0, j);
            if (prefix.empty()) return "";
        }
        return prefix;
    }
};
  1. 边界情况处理:如果输入数组为空,直接返回空字符串。
  2. 初始化公共前缀:将第一个字符串设为初始公共前缀。
  3. 遍历字符串数组:从第二个字符串开始,逐个与当前公共前缀比较。
  4. 更新公共前缀:使用双指针方法比较字符,找到当前字符串与公共前缀的共同部分,并更新公共前缀。
  5. 提前终止:如果公共前缀在比较过程中变为空,立即返回空字符串。

数据类型之字符串 文章被收录于专栏

常用操作: 连接: + 运算符 重复: * 运算符 索引:索引访问单个字符,索引从0开始 切片:指定开始索引、结束索引和步长来获取子字符串 长度:len()获取长度 成员检查:in和not in检查子字符串是否存在于字符串中 方法:字符串对象有很多方法,如split, join, upper, lower, strip, replace 由于字符串是不可变的,所以不能通过索引直接修改字符串中的字符

全部评论

相关推荐

牛客74464229...:年底就这样,招人的要不是很缺人的,要不就是岗位要求高的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务