码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode 查找字符串数组共同的前缀longestCommonPrefix

时间:2020-04-25 01:07:27      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:function   fun   ges   for循环   查找   code   max   strong   return   

我是海大顶瓜瓜

1、从前面查找最长公共前缀

Input: ["flower","flow","flight"]
Output: "fl"
Example 2:

Input: ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.

function getSameFirst(arr) {
    let res = ‘‘;
    let first;
    let max = arr[0].length;

    // 第一个循环是遍历字符串的长度
    for (let i = 0; i < max; i++) {
        first = arr[0][i];
        // 第二个循环是遍历输入的字符串数组
        for (let j = 1,len= arr.length; j < len; j++) {
            // 把每个字符串拿去一一对比
            if (arr[j][i] != first) {
                console.log(res);
                return res
            }
        }
        res += first
    }
}

2、从后面查找最长公共字符串

Input:  [‘owner‘, ‘flower‘, ‘fighter‘]

Output: "er"

function getSameEnd(arr) {
    let res = ‘‘;
    let first = ‘‘;
    let max = arr[0].length;

    for (let i = 1; i < max; i++) {
        // 由于是截取最后的字符,所以用slice来截取
        first = arr[0].slice(-i);
        
        for (let j = 1,len= arr.length; j < len; j++) {
            if (arr[j].slice(-i) != first) {
                console.log(res);
                return res
            }
        }
        res = first
    }
}
getSameEnd([‘ofwnqer‘, ‘oflowqer‘, ‘ofightqer‘])

双重for循环真是费头发,以上就是解法,记录一下

 

leetcode 查找字符串数组共同的前缀longestCommonPrefix

标签:function   fun   ges   for循环   查找   code   max   strong   return   

原文地址:https://www.cnblogs.com/linxf/p/12770944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!