Imports System
Public Class Program
Public Shared Function longestPalindromeSubstring(ByVal str As String) As Integer
Dim len As Integer = str.Length
Dim longestLength As Integer = 1, start As Integer = 0
For i As Integer = 0 To len - 1
For j As Integer = i To len - 1
Dim palindrome As Integer = 1
For k As Integer = 0 To (j - i + 1) / 2 - 1
If str(i + k) <> str(j - k) Then
palindrome = 0
End If
Next
If palindrome <> 0 AndAlso (j - i + 1) > longestLength Then
start = i
longestLength = j - i + 1
End If
Next
Next
Console.Write("Longest palindrome substring = ")
For i As Integer = start To start + longestLength - 1
Console.Write(str(i))
Next
Console.WriteLine()
Return longestLength
End Function
Public Shared Sub Main(ByVal args As String())
Dim str As String = "qabcbaproggorpxyyxzv"
Dim result As Integer = longestPalindromeSubstring(str)
Console.Write("Length palindrome substring length = " & result)
End Sub
End Class
' run:
'
' Longest palindrome substring = proggorp
' Length palindrome substring length = 8
'