【 腾讯精选练习 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 题】03—有效的括号
【 腾讯精选练习 50 题】03—有效的括号
【 腾讯精选练习 50 题】05—回文数【简单】
【 腾讯精选练习 50 题】05—回文数【简单】
【 腾讯精选练习 50 题】08—最长回文子串【中等】
【 腾讯精选练习 50 题】08—最长回文子串【中等】
【 腾讯精选练习 50 题】10—爬楼梯【简单】
【 腾讯精选练习 50 题】10—爬楼梯【简单】
【 腾讯精选练习 50 题】14—合并两个有序数组【简单】
【 腾讯精选练习 50 题】14—合并两个有序数组【简单】
|
8月前
|
存储 机器学习/深度学习
【 腾讯精选练习 50 题】04—整数反转【简单】
【 腾讯精选练习 50 题】04—整数反转【简单】
|
8月前
|
存储
【 腾讯精选练习 50 题】02—两数相加
【 腾讯精选练习 50 题】02—两数相加
【 腾讯精选练习 50 题】12—合并两个有序链表【简单】
【 腾讯精选练习 50 题】12—合并两个有序链表【简单】
|
Java C++ Python
快讯:LeetCode中国正式上线《剑指Offer》题目,刷题真方便了!
近日,LeetCode中国[1]上线了一个全新的分类模块 LCOF “剑指 Offer[2]”。
6572 0
快讯:LeetCode中国正式上线《剑指Offer》题目,刷题真方便了!
|
3月前
|
算法 前端开发 Java
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题
这篇文章总结了单链表的常见面试题,并提供了详细的问题分析、思路分析以及Java代码实现,包括求单链表中有效节点的个数、查找单链表中的倒数第k个节点、单链表的反转以及从尾到头打印单链表等题目。
38 1
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题