LeetCode–最長共通接頭辞

3673 ワード

LeetCode–最長共通接頭辞


ブログの説明
文章の関連する資料はインターネットの整理と個人の総括から来て、個人の学習と経験の総括を意図して、もしどんな地方の権利侵害があるならば、本人に連絡して削除して、ありがとうございます!

説明


leetcode題,14題
最大共通接頭辞

タイトル


文字列配列の最長の共通接頭辞を検索する関数を作成します.
共通の接頭辞が存在しない場合は、空の文字列「」を返します.
例1:
 : ["flower","flow","flight"]
 : "fl"

例2:
 : ["dog","racecar","car"]
 : ""

説明:入力に共通接頭辞は存在しません.
説明:
  a-z 

Java


すいへいそういんほう
文字列配列の各文字列を順次巡回し、巡回した文字列ごとに最長共通接頭辞を更新し、すべての文字列を巡回した後、文字列配列の最長共通接頭辞を得ることができる.
class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs == null || strs.length == 0){
            return "";
        }
        // 
        String prefix = strs[0];
        int count = strs.length;
        for(int i = 1;i

Python


すいへいそういんほう
class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs:
            return ""
        # 
        prefix , count = strs[0],len(strs)
        for i in range(1,count):
            # 
            prefix = self.commonPrefix(prefix,strs[i])
            if not prefix:
                return ""
        return prefix
    # 
    def commonPrefix(self,str1,str2):
        length,index = min(len(str1),len(str2)),0
        while index < length and str1[index] == str2[index]:
            index += 1
        return str1[:index]
    

C++


すいへいそういんほう
class Solution {
public:
    string longestCommonPrefix(vector& strs) {
        if(!strs.size()){
            return "";
        }

        string prefix = strs[0];
        int count = strs.size();
        for (int i = 1;i < count; i++){
            prefix = longestCommonPrefix(prefix,strs[i]);
            if (!prefix.size()){
                break;
            }
        }
        return prefix;
    }

    string longestCommonPrefix(const string& str1,const string& str2){
        int index = 0;
        int length = min(str1.size(),str2.size());
        while(index < length && str1[index] == str2[index]){
            index++;
        }
        return str1.substr(0,index);
    }
};

PHP


すいへいそういんほう
class Solution {

    /**
     * @param String[] $strs
     * @return String
     */
    function longestCommonPrefix($strs) {
        $prefix = '';
        $i = 0;
      	// 0
        foreach($strs as $key => $value){
            if($value == ''){
                return $prefix;
            }
        }
        // 
        if(count($strs)<1){
            return $prefix;
        }

        while(true){
          	// i 
            $current = $strs[0]{$i};
            if(!$current){
                return $prefix;
            }
            foreach($strs as $key => $value){
                if($value{$i} != $current){
                    return $prefix;
                }
            }
            $prefix .= $current;
            $i++;
        }
        return $prefix;
    }
}

に感謝
leetcode
勤勉な自分と
公衆番号に注目:帰子莫、もっと多くの資料を取得して、もっと長い学習計画があります