[LeetCode] Longest Common Prefix 最长公共前缀 [LeetCode] Longest Common Prefix 最长公共前缀

链接https://leetcode.com/problems/longest-common-prefix/#/description 难度:Easy 题目:14. Longest Common Prefix Write a function to find the longest common prefix string amongst an array of strings. 翻译:编写一个函数来查找给定字符串数组中最长的公共前缀。 思路:取出给定字符串数组中长度最小的一个字符串(或者直接取出第一个字符串),以此为基准,遍历整个字符串数组,若基准字符串是其他所有字符串的子串,则基准字符串即为所求最长公共前缀,否则,将基准字符串截去最后一个字符,重新遍历整个字符串数组,依此类推,直到找到所有字符串数组都存在的子串为止。 参考代码

public class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length == 0)
            return "";
        String prefix = strs[0];
        for (int i=1; i<strs.length; i++){
            while(strs[i].indexOf(prefix) != 0){
                prefix = prefix.substring(0, prefix.length() - 1);
                if (prefix.isEmpty())
                    return "";
            }
        }
        return prefix;  
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一“技”之长

Swift讲解专题五——集合类型 原

        Swift中提供了3种集合类型,Array数据类型,Set集合类型,Dictionary字典类型。Array用于存放一组有序的数据,数据角标从0...

8830
来自专栏禹都一只猫博客

Pandas文本数据处理 | 轻松玩转Pandas(4)

25520
来自专栏Python研发

JavaScript

JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应的代码,浏览器可以解释...

15820
来自专栏Golang语言社区

Go语言——再论slice切片

Slice是长度可变的元素序列(数组不可变),每个元素都有相同的类型。slice类型写作[]T,其中T代表slice中的元素类型;slice和数组写法很像,只是...

378160
来自专栏进击的君君的前端之路

函数与作用域

14540
来自专栏开源FPGA

Python学习笔记

一、Python基础知识 1. Print()函数是默认以换行符作为其结束值的。下一次对print()的调用将会在下一行显示。 2. 插入引号:单引号用\’,双...

22570
来自专栏黑泽君的专栏

java基础学习_基础语法(上)03_day04总结

============================================================================= ==...

10910
来自专栏Python研发

go基础编程 day-2

  零值并不等于空值,而是当变量声明为某种来兴后的默认零值,通常情况下默认值为0,bool为false,string为空字符串。

11420
来自专栏柠檬先生

JavaScript 基础(一)

基本语法: 区分大小写:       ECMAScript 中的一切(变量,函数名和操作符)都区分大小写。 标识符:     表示符就是指,变量,函数,属性...

219100
来自专栏CRPER折腾记

JS数组去重!!!一篇不怎么靠谱的"深度"水文

数组去重,这是一个老梗了...今天我又拿出来说了... 我们在考虑全面一点的情况下,数组去重的实现,比如针对NaN,undefined,{}; 这其中涉及的知识...

11340

扫码关注云+社区

领取腾讯云代金券