Longest common prefix: Difference between revisions
→{{header|Wren}}
m (→version 3: added whitespace.) |
|||
Line 3,288:
Test case 4 = No Matching Prefix
Test case 5 prefix,suffix = No Matching Prefix</pre>
=={{header|Visual Basic .NET}}==
{{trans|C#}}
<lang vbnet>Module Module1
Function LongestCommonPrefix(ParamArray sa() As String) As String
If IsNothing(sa) Then
Return "" REM special case
End If
Dim ret = ""
Dim idx = 0
While True
Dim thisLetter = Nothing
For Each word In sa
If idx = word.Length Then
REM if we reach the end of a word then we are done
Return ret
End If
If IsNothing(thisLetter) Then
REM if this is the first word, thennote the letter we are looking for
thisLetter = word(idx)
End If
If thisLetter <> word(idx) Then
Return ret
End If
Next
REM if we haven't said we are done the this position passed
ret += thisLetter
idx += 1
End While
Return ""
End Function
Sub Main()
Console.WriteLine(LongestCommonPrefix("interspecies", "interstellar", "interstate"))
Console.WriteLine(LongestCommonPrefix("throne", "throne"))
Console.WriteLine(LongestCommonPrefix("throne", "dungeon"))
Console.WriteLine(LongestCommonPrefix("throne", "", "throne"))
Console.WriteLine(LongestCommonPrefix("cheese"))
Console.WriteLine(LongestCommonPrefix(""))
Console.WriteLine(LongestCommonPrefix(Nothing))
Console.WriteLine(LongestCommonPrefix("prefix", "suffix"))
Console.WriteLine(LongestCommonPrefix("foo", "foobar"))
End Sub
End Module</lang>
{{out}}
<pre>inters
throne
cheese
foo</pre>
=={{header|Wren}}==
|