摘要:題目詳情題目要求是,給定一個(gè)字符串的數(shù)組,我們要找到所有字符串所共有的最長的前綴。為了解決這個(gè)問題,可以每次都縱向?qū)Ρ让恳粋€(gè)字符串相同位置的字符,找出最長的前綴。
題目詳情
Write a function to find the longest common prefix string amongst an array of strings.想法題目要求是,給定一個(gè)字符串的數(shù)組,我們要找到所有字符串所共有的最長的前綴。
一種想法是先將數(shù)組的第一個(gè)元素賦值為前綴,然后不斷找出它和后邊的字符串所重疊的部分。(水平掃描)
但是這個(gè)方法有一個(gè)弊端,如果前面的元素特別長,而后面的元素又很短。就會(huì)產(chǎn)生較多的多余計(jì)算。
為了解決這個(gè)問題,可以每次都縱向?qū)Ρ让恳粋€(gè)字符串相同位置的字符,找出最長的前綴。
解法一 水平掃描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]; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66934.html
摘要:公眾號(hào)愛寫編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。由于字符串長度不一,可以先遍歷找出最小長度字符串,這里我選擇拋錯(cuò)的形式,減少一次遍歷。 公眾號(hào):愛寫bug Write a function to find the longest common prefix string amongst an array of strings. If there...
摘要:公眾號(hào)愛寫編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長公共前綴。如果不存在公共前綴,返回空字符串。由于字符串長度不一,可以先遍歷找出最小長度字符串,這里我選擇拋錯(cuò)的形式,減少一次遍歷。 公眾號(hào):愛寫bug Write a function to find the longest common prefix string amongst an array of strings. If there...
摘要:題目詳情題目要求是,給定一個(gè)字符串的數(shù)組,我們要找到所有字符串所共有的最長的前綴。為了解決這個(gè)問題,可以每次都縱向?qū)Ρ让恳粋€(gè)字符串相同位置的字符,找出最長的前綴。 題目詳情 Write a function to find the longest common prefix string amongst an array of strings. 題目要求是,給定一個(gè)字符串的數(shù)組,我們要...
摘要:注意要檢查參數(shù)數(shù)組是否為空或循環(huán)找出數(shù)組中最短的那個(gè)單詞,以這個(gè)單詞為基準(zhǔn),兩層循環(huán)嵌套,外層是遍歷這個(gè)最短單詞的每一個(gè)字母,內(nèi)層是遍歷所有單詞,看其它單詞這個(gè)位置的字母是否和最短單詞一樣,若都一樣,繼續(xù)向下遍歷,若有不一樣的,,返回當(dāng)前的 Easy 014 Longest Common Prefix Description: find the longest common prefi...
摘要:我的思路是用對(duì)中的字符串逐個(gè)遍歷第位的字符,如果都相同,就把這個(gè)字符存入,否則返回已有的字符串。注意,第二層循環(huán)的條件的值不能大于。 Problem Write a function to find the longest common prefix string amongst an array of strings. Note 我的思路是用StringBuilder對(duì)strs中的字...
閱讀 1808·2021-09-03 10:50
閱讀 1339·2019-08-30 15:55
閱讀 3382·2019-08-30 15:52
閱讀 1242·2019-08-30 15:44
閱讀 954·2019-08-30 15:44
閱讀 3326·2019-08-30 14:23
閱讀 3559·2019-08-28 17:51
閱讀 2298·2019-08-26 13:52