【leetcode】【14】Longest Common Prefix

来源:互联网 发布:全球通用聊天软件 编辑:程序博客网 时间:2024/05/21 17:57

一、问题描述

Write a function to find the longest common prefix string amongst an array of strings.

二、问题分析

该题是求多个字符串的最长公共前缀。很明显最长不能超过最短字符串的长度。接下来就是字符串的遍历和比较。可以以第一个字符串作参照,依次选择字符串中字符,然后和其余字符串相同位置的字符进行比较,相同就继续比较下一个字符串的相同位置,不同就求subString,当然在比较之前先要确定位置是否超过了字符串的长度。时间复杂度为O(m*n),m为第一个最短字符串的长度,n为字符串的个数。

三、Java AC 代码

public String longestCommonPrefix(String[] strs) {          if (strs.length == 0)              return "";          for (int i = 0; i < strs[0].length(); i++) {              for (int j = 1; j < strs.length; j++)                  if (strs[j].length() <= i || strs[j].charAt(i) != strs[0].charAt(i))                      return strs[0].substring(0, i);          }          return strs[0];      }  


0 0
原创粉丝点击