# “Longest Common Prefix” cheat sheet Javascript solution

The Longest Common Prefix challenge is in the easy category and is a good start for understanding more challenging algorithms. I will focus on explaining a solution that works and not on the O time and space complexity.

Challenge:

“Write a function to find the longest common prefix string amongst an array of strings.

If there is no common prefix, return an empty string “”. LeetCode

Note:

`//Find longest equal prefix// Array of strings//Return “” if empty//Prefix will always start at the beginning of the string`

Example:

`string = [“pot”, “pop”, “top”]return “”string = [“flower”,” flow”,” floor”]return “flo”`

Explanation:

`//Loop through the array of substrings compares each of the characters at a similar index, //starting from the beginning and increment //until different //then return the longest prefix.`

1.Prefix start as an empty string
`longestPrefix = “”`

2.If there is no common prefix, return an empty string “”. LeetCode

`if (strs.length === 0) return longestPrefix`

`return longestPrefix`

3.Loop through substrings characters starting from the first character of the first substring

`for (let i = 0; i < strs[0].length; i++){`

`for (let j = 0; j < strs.length; j++){`

4.Compare each character of the array substrings at a similar index and increment through characters until not equal

`const currentChar = strs[0][i]`

`if (strs[j][i] !== currentChar) return longestPrefix`

5.return the longest prefix

`longestPrefix += currentChar`

## Solution:

`var longestCommonPrefix = function(strs) {longestPrefix = “”if (strs.length === 0) return longestPrefixfor (let i = 0; i < strs[0].length; i++){const currentChar = strs[0][i]for (let j = 0; j < strs.length; j++){if (strs[j][i] !== currentChar) return longestPrefix}longestPrefix += currentChar}return longestPrefix};`

--

--

Lifelong learner , Full Stack Software Engineer.