14. 最长公共前缀(技巧题)

编程入门 行业动态 更新时间:2024-10-05 17:16:58

14. 最长公共<a href=https://www.elefans.com/category/jswz/34/1768815.html style=前缀(技巧题)"/>

14. 最长公共前缀(技巧题)

题目

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

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

示例 1:

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

示例 2:

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

思路

任取数组中的一个元素作为参照,这里取第一个元素 strs[0],定义一个指针 k,代表 strs[0] 的前 k 项是最长公共前缀,然后从第二个元素开始遍历,逐个字符比较,不断修改 k 值,得到最终结果;

代码

class Solution {public String longestCommonPrefix(String[] strs) {if (strs.length == 0)return "";int k = strs[0].length();for (int i=1; i<strs.length; i++){int len = Math.min(k, strs[i].length());int j = 0;for (; j<len && strs[0].charAt(j) == strs[i].charAt(j); j++);k = j;}return strs[0].substring(0, k);}public static void main(String[] args) {Solution solution = new Solution();String[] a = {"dog","racecar","car"};System.out.println(solution.longestCommonPrefix(a));}
}

更多推荐

14. 最长公共前缀(技巧题)

本文发布于:2024-02-27 19:17:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766073.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:前缀   最长   技巧

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!