【 腾讯精选练习 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—最长回文子串【中等】
|
8月前
|
算法 Java 机器人
百度松果菁英班--3月日常练习题-1
百度松果菁英班--3月日常练习题-1
27 0
【 腾讯精选练习 50 题】11—最大子序和【简单】
【 腾讯精选练习 50 题】11—最大子序和【简单】
|
7月前
|
Kubernetes 算法 关系型数据库
No.3 腾讯,阿里,字节,优科面经(上-算法篇)
No.3 腾讯,阿里,字节,优科面经(上-算法篇)
|
8月前
|
人工智能 BI
百度松果菁英班--oj赛(第一次)
百度松果菁英班--oj赛(第一次)
40 0
|
8月前
百度之星(题解)
百度之星(题解)
|
8月前
|
机器学习/深度学习 安全
2023年百度之星题解
2023年百度之星题解