【 腾讯精选练习 50 题】07—最长公共前缀【简单】

简介: 【 腾讯精选练习 50 题】07—最长公共前缀【简单】

题目链接

14. 最长公共前缀【简单】

题目描述

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 “”。

示例 1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

题目解析

  1. 题目给你一个字符串数组,让你求 字符串数组中从开头最长的公共前缀
  2. 例如:["flower","flow","flight"]的公共前缀是fl,而["flower","owfl","flight"]则是空
  3. 我们使用暴力遍历
  • 将字符串数组中的第一个字符串当成我们的比较串(因为是公共的前缀,必然小于等于我们的第一个字符串)
  • 每次我们取第一个字符串的第i个字符,和另外字符串的第i个字符相比较
  • 若全部相等,则向我们的 StringBuffer 中添加即可
  • 若有一个不等,则直接返回我们的 StringBuffer。toString()

题目代码

public String longestCommonPrefix(String[] strs) {
        int len1 = strs[0].length();
        int len2 = strs.length;
        StringBuffer stringBuffer = new StringBuffer();
        for(int i = 0; i < len1; i++){
            char s = strs[0].charAt(i);
            for(int j = 1; j < len2; j++){
                if(s != strs[j].charAt(i)){
                    return stringBuffer.toString();
                }
            }
            stringBuffer.append(s);
        }
        return stringBuffer.toString();
    }


相关文章
【 腾讯精选练习 50 题】05—回文数【简单】
【 腾讯精选练习 50 题】05—回文数【简单】
【 腾讯精选练习 50 题】03—有效的括号
【 腾讯精选练习 50 题】03—有效的括号
【 腾讯精选练习 50 题】10—爬楼梯【简单】
【 腾讯精选练习 50 题】10—爬楼梯【简单】
【 腾讯精选练习 50 题】08—最长回文子串【中等】
【 腾讯精选练习 50 题】08—最长回文子串【中等】
|
5月前
|
存储 机器学习/深度学习
【 腾讯精选练习 50 题】04—整数反转【简单】
【 腾讯精选练习 50 题】04—整数反转【简单】
【 腾讯精选练习 50 题】14—合并两个有序数组【简单】
【 腾讯精选练习 50 题】14—合并两个有序数组【简单】
【 腾讯精选练习 50 题】01—翻转链表
【 腾讯精选练习 50 题】01—翻转链表
|
5月前
|
存储
【 腾讯精选练习 50 题】02—两数相加
【 腾讯精选练习 50 题】02—两数相加
【 腾讯精选练习 50 题】11—最大子序和【简单】
【 腾讯精选练习 50 题】11—最大子序和【简单】
【 腾讯精选练习 50 题】16—三数之和【中等】
【 腾讯精选练习 50 题】16—三数之和【中等】