How to reverse an array of characters without affecting the special characters in VB.NET

1 Answer

0 votes
Imports System

Public Class Test
    Public Shared Sub reverse(arr() As Char)  
        Dim right As Integer = arr.Length - 1, left As Integer = 0 
         
        Do While (left < right) 
            If (NOT Char.IsLetter(arr(left))) Then
                left += 1 
            Else If (Not Char.IsLetter(arr(right))) 
                    right -= 1 
                 Else  
                    Dim tmp As Char = arr(left)
                    arr(left) = arr(right)
                    arr(right) = tmp
                    left += 1 
                    right -= 1
                 End If
        Loop
    End Sub
    Public Shared Sub Main()
        Dim arr() As Char = { "a", "#", "b", "$", "%", "c", "&", "*", "(", "d", "e", "f", "!" }

        reverse(arr) 
  
        Console.Write(arr)
    End Sub
End Class



' Run

' f#e$%d&*(cba!

 



answered Jun 18, 2019 by avibootz
...