LeetCode-14/220316


https://leetcode.com/problems/longest-common-prefix/

Python

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if len(strs) == 0: 
        	return ''
        minStr = min(strs, key = len)
        for i, x in enumerate(minStr):
        	for other in strs:
            	if other[i] !=x:
                	return minStr[:i]
        return minStr
  • minStr=strsで最も短い項目
  • 列挙を使用してstrsの文字列をiからminStringまで
  • と比較する
    他の文字
  • が見つかった場合、minstrの文字をiに返します.

    Java

    class Solution {
        public String longestCommonPrefix(String[] strs) {
            if (strs.length == 0) return "";
            String prefix = strs[0];
            for (int i =1; i < strs.length; i ++){
                while (strs[i].indexOf(prefix) != 0){
                    prefix = prefix.substring(0, prefix.length() -1);
                }
            }
            return prefix;
        }
    }
    Pythonの方法とは異なり、strsの最初の項目を接頭辞に設定し、strsの他の項目と比較し、文字数を1つずつ減らす方法です.