摘要:最長公共前綴編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。思路先將字符串?dāng)?shù)組排序,在比較第一個字符串與最后一個字符串的公共前綴即可,只需比較第一個字符串與最后一個字符串保存公共前綴排序不一樣則退出循環(huán)
最長公共前綴 LCP(longest common prefix)
Leetcode: 編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。
思路:先將字符串?dāng)?shù)組排序,在比較第一個字符串與最后一個字符串的公共前綴即可
eg:["abcffffd","abbffffd","abccc"] -> ["abbffffd","abccc","abcffffd"],
只需比較第一個字符串"abbffffd"與最后一個字符串"abcffffd"
代碼實現(xiàn)
/** * 最長公共前綴 LCP(longest common prefix) * Leetcode: 編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""。 * * 思路:先將字符串?dāng)?shù)組排序,在比較第一個字符串與最后一個字符串的公共前綴即可 * eg:["abcffffd","abbffffd","abccc"] -> ["abbffffd","abccc","abcffffd"], * 只需比較第一個字符串"abbffffd"與最后一個字符串"abcffffd" */ public class LCP { public String solution(String[] strs){ //保存公共前綴 StringBuffer lcpStr = new StringBuffer(); if(strs == null){ return lcpStr.toString(); } //排序 Arrays.sort(strs); String first = strs[0]; String last = strs[strs.length - 1]; int firstLength = first.length(); int lastLength = last.length(); int count = firstLength > lastLength ? lastLength : firstLength; for(int i = 0;i < count;i++){ if(first.charAt(i) == last.charAt(i)){ lcpStr.append(first.charAt(i)); }else{ //不一樣則退出循環(huán) break; } } return lcpStr.toString(); } public static void main(String[] args) { LCP lcp = new LCP(); String[] strs = {"abcffffd","abbffffd","abccc"}; System.out.println(lcp.solution(strs)); } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/77743.html
摘要:最長公共前綴編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。說明所有輸入只包含小寫字母。 LeetCode14.最長公共前綴 JavaScript 編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串 。 示例 1: 輸入: [flower,flow,flight] 輸出: fl...
摘要:字符串?dāng)?shù)組最長公共前綴給出字符串?dāng)?shù)組,查找這個數(shù)組中所有字符串的最長公共前綴思路從開始自增,判斷每個字符串位置的字符是否一致,不一致則之前的串為最長公共字符串。利用函數(shù)的特點返回可迭代的對象,只要判斷長度大于,則表明此元素非公共字符。 字符串?dāng)?shù)組最長公共前綴 Longest Common Prefix 給出字符串?dāng)?shù)組,查找這個數(shù)組中所有字符串的最長公共前綴 Write a funct...
摘要:如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。 ?作者簡介:大家好,我是車神哥,府學(xué)路18號的車神? ?個人主頁:應(yīng)無所住...
摘要:題目編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。示例輸入輸出示例輸入輸出解釋輸入不存在公共前綴。 [TOC] 題目 **編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。** 如果不存在公共前綴,返回空字符串 。 示例 1: 輸入: [flower,flow,flight] 輸出: fl 示例 2: 輸入: [dog,racecar,car] 輸出:...
摘要:公眾號愛寫編寫一個函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。由于字符串長度不一,可以先遍歷找出最小長度字符串,這里我選擇拋錯的形式,減少一次遍歷。 公眾號:愛寫bug Write a function to find the longest common prefix string amongst an array of strings. If there...
閱讀 2016·2021-11-12 10:36
閱讀 1865·2021-11-09 09:49
閱讀 2591·2021-11-04 16:12
閱讀 1144·2021-10-09 09:57
閱讀 3235·2019-08-29 17:24
閱讀 1909·2019-08-29 15:12
閱讀 1272·2019-08-29 14:07
閱讀 1285·2019-08-29 12:53