博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 14 Longest Common Prefix
阅读量:5770 次
发布时间:2019-06-18

本文共 893 字,大约阅读时间需要 2 分钟。

题目详情

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

题目要求是,给定一个字符串的数组,我们要找到所有字符串所共有的最长的前缀。

想法

  • 一种想法是先将数组的第一个元素赋值为前缀,然后不断找出它和后边的字符串所重叠的部分。(水平扫描)
  • 但是这个方法有一个弊端,如果前面的元素特别长,而后面的元素又很短。就会产生较多的多余计算。
  • 为了解决这个问题,可以每次都纵向对比每一个字符串相同位置的字符,找出最长的前缀。

解法一 水平扫描

public String longestCommonPrefix(String[] strs) {        if(strs == null || strs.length == 0)return "";        String prefix = strs[0];               if(strs.length ==1) return prefix;                for(int i=1;i

解法二 垂直扫描

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

转载地址:http://wysux.baihongyu.com/

你可能感兴趣的文章
gradle 如何操作命令行
查看>>
linux系统终端命令提示符设置(PS1)记录
查看>>
C++运算符重载
查看>>
【Web】URI和URL,及URL的编码
查看>>
宿舍局域网的应用
查看>>
RAC 某节点不可用时,对应VIP是否可用
查看>>
html代码究竟什么用途
查看>>
oracle的substr函数的用法
查看>>
QT 数据库编程四
查看>>
npm下载包时代理配置
查看>>
全球十大理论
查看>>
CF444C. DZY Loves Colors[线段树 区间]
查看>>
OpenCV——改变图像大小
查看>>
Java Unsafe类
查看>>
model.addAttribute("student",student)——渲染
查看>>
JavaWeb开发之普通图片验证码生成技术与算术表达式验证码生成技术
查看>>
python和pywin32实现窗口查找、遍历和点击
查看>>
第二章 概率图模型的基本原理
查看>>
Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)
查看>>
Nginx反向代理,负载均衡,redis session共享,keepalived高可用
查看>>