Question: Is it possible to reverse an array without affecting the special characters ? By special characters, I mean anything characters not included from 'a' to 'z' and 'A' to 'Z'. I am short of ideas to build the algorithm, I still haven't it figured out.

Answer: 
One simple solution would be to Simple Solution:

1) Create a temporary character array --> ex: myArr[].

2) Copy alphabetic characters from the given array to myArr[].

3) Reverse myArr[] using standard string reversal algorithm.

4) Now traverse input string and myArr in a single loop. Wherever there is alphabetic character is input string, replace it with current character of myArr[].

Little problem with above solution, it requires extra space and it does two traversals of input string.
You can reverse with one traversal and without extra space. Below is algorithm.

1) Let input string be 'str[]' and length of string be 'a'

2) l = 0, r = a-1

3) While l is smaller than r, do following
 a) If str[l] is not an alphabetic character, do l++

b) Else If str[r] is not an alphabetic character, do r--

c) Else swap str[l] and str[r]
```
        Console.WriteLine("enter any string");
        string str = Console.ReadLine();
        string[] revstr = new string[str.Length];
        for (int i = 0; i < str.Length; i++)
        {
            int ch = Convert.ToInt16(str.ToLower()[i]);
            if ((ch < 97 || ch > 122))
            {
                revstr[i] = str[i].ToString();
            }
        }
        for (int k = str.Length - 1; k >= 0; k--)
        {
            int ch = Convert.ToInt16(str.ToLower()[k]);
            if (!(ch < 97 || ch > 122))

            {
                for (int j = 0; j < str.Length; j++)
                {
                    if (revstr[j] == null)
                    {
                        revstr[j] = str[k].ToString();
                        break;
                    }
                }
            }
        }
        for (int s = 0; s < revstr.Length; s++)
        {
            Console.Write(revstr[s]);
        }

```