There is no common prefix among the input strings.
### [Constraints] - `1 <= strs.length <= 200` - `0 <= strs[i].length <= 200` - `strs[i]` consists of only lowercase English letters if it is non-empty. ## Intuition 1. To find the longest common prefix, you can scan from left to right, using the characters of the first string as the baseline. 1. If the current character in the other strings does not match the baseline character, return the result. After each round of iteration, add the baseline character to the common prefix. ## Complexity - Time complexity: `O(M * N)`. - Space complexity: `O(1)`. ## Ruby ```ruby # @param {String[]} strs # @return {String} def longest_common_prefix(strs) result = '' (0...strs[0].size).each do |i| char = strs[0][i] strs[1..].each do |str| if str[i] != char return result end end result << char end result end ``` ## Python ```python class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: result = '' for i in range(len(strs[0])): char = strs[0][i] for string in strs[1:]: if i >= len(string) or string[i] != char: return result result += char return result ``` ## Java ```java class Solution { public String longestCommonPrefix(String[] strs) { var result = ""; for (var i = 0; i < strs[0].length(); i++) { var c = strs[0].charAt(i); for (var j = 1; j < strs.length; j++) { if (i >= strs[j].length() || strs[j].charAt(i) != c) { return result; } } result += c; } return result; } } ``` ## Other languages ```java // Welcome to create a PR to complete the code of this language, thanks! ``` Dear LeetCoders! For a better LeetCode problem-solving experience, please visit website [LeetCode.to](https://leetcode.to): Dare to claim the best practices of LeetCode solutions! Will save you a lot of time! Original link: [14. Longest Common Prefix - LeetCode Python/Java/C++/JS/C#/Go/Ruby Solutions](https://leetcode.to/en/leetcode/14-longest-common-prefix). GitHub repository: [leetcode-python-java](https://github.com/leetcode-python-java/leetcode-python-java).