zoukankan      html  css  js  c++  java
  • leetcode14:最长公共前缀 还有其他解法

    ================Python=============

    class Solution:
        def longestCommonPrefix(self, strs: List[str]) -> str:
            if len(strs) == 0:
                return ""
            return reduce(self.helper, strs)
    
        def helper(self, str1, str2):
            ans = ""
            if len(str1) == 0 or len(str2) == 0:
                return ans
            n = min(len(str1), len(str2))
            for i in range(n):
                if str1[i] == str2[i]:
                    ans += str1[i]
                else:
                    break
            return ans

    =====================Go====================

    func longestCommonPrefix(strs []string) string {
        if len(strs) == 0{
            return ""
        }
        var ans string
        ans = strs[0]
        n := len(strs)
        for i := 1; i < n; i++ {
            ans = longestCommonPrefixHelper(ans, strs[i])
            if ans == "" {
                return ans
            }
        } 
        return ans
        
    }
    
    func longestCommonPrefixHelper(str1, str2 string) string {
        if len(str1) == 0 || len(str2) == 0 {
            return ""
        }
        length := min(len(str1), len(str2))
        var ans string
        for i := 0; i < length; i++ {
            if str1[i] == str2[i] {
                ans += string(str1[i])
            } else{
                break
            }
        }
        return ans
    }
    
    func min(s1, s2 int) int {
        if s1 > s2 {
            return s2
        } else {
            return s1
        }
    }

    =======================Java===================

    class Solution {
        
        public String longestCommonPrefix(String[] strs) {
            int len = strs.length;
            if (len == 0) {
                return "";
            }
            String res = strs[0];
            for (int i=1; i < len; i++) {
                res = longestCommonPrefixHelper(res, strs[i]);
            }
            return res;
        }
    
        public String longestCommonPrefixHelper(String str1, String str2) {
            
            int length = Math.min(str1.length(), str2.length());
            int index = 0;
            while (index < length && str1.charAt(index) == str2.charAt(index)) {
                index++;
            }
            return str1.substring(0, index);
    
        }
    }
  • 相关阅读:
    数字货币交易所数据标准格式
    Python3量化技术常用插件
    线上线下流量趋势
    数字货币做市技术——随机价格
    OKEX API v1 SDK基于 Python 实现
    CEOBI交易所接口文档
    递归拉取订单列表的方法
    XT交易所Websocket API
    XT交易所API
    获取合约日期
  • 原文地址:https://www.cnblogs.com/liushoudong/p/13492643.html
Copyright © 2011-2022 走看看