-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLongestCommonPrefix.cs
69 lines (54 loc) · 1.63 KB
/
LongestCommonPrefix.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
namespace LeetCodeProblems
{
internal static class LongestCommonPrefix
{
public static void Test()
{
var testCases = new string[][]
{
["flower", "flow", "flight"],
["dog", "racecar", "car"]
};
foreach (var testCase in testCases)
{
Console.WriteLine("The longest common prefix is: " + LongestCommonPrefixM(testCase));
}
}
public static string LongestCommonPrefixM(string[] strs)
{
var arrayLength = strs.Length;
var result = strs[0];
var prefixLength = result.Length;
for (var i = 0; i < arrayLength; i++)
{
while (!strs[i].StartsWith(result))
{
result = result.Substring(0, prefixLength - 1);
prefixLength--;
}
if (result.Length == 0)
{
return "";
}
}
return result;
}
}
}
//14.Longest Common Prefix
//Easy
// Topics
//Companies
// 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 "".
// Example 1:
//Input: strs = ["flower", "flow", "flight"]
//Output: "fl"
//Example 2:
//Input: strs = ["dog", "racecar", "car"]
//Output: ""
//Explanation: 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.