Another interview question that is really common is the string reverse. The question is simple. Write a function to reverse a string.

Very simple solution to this.

static string Reverse2(string str)
{
    char[] tmp = new char[str.Length];
    for (int i = 0; i < str.Length; i++)
        tmp[i] = str[str.Length - i - 1];
    return new string(tmp);
}

Or you might want to answer it something like this.

static string Reverse(string str)
{
    char[] tmp = str.ToCharArray();
    Array.Reverse(tmp);
    return new string(tmp);
}

The second solution shows more understanding of the C# language it also produces cleaner code. Which is easy to read.

Interviews tend to ask this because it shows dealing with array's and strings. Arrays in c# start at zero but the length's are a total number of items. So lots of people get the answers wrong normally because they forget to convert the length's to the array offsets.





Last Modified: 23 February 2017

Releated Posts


2012-01-30 - C - The string reverse
2012-01-27 - C - Palindrome
2011-10-27 - CSharp - Number Of Cores and Processors
2011-10-04 - CSharp - Thread Queue Example
2011-09-29 - CSharp - Background Thread / Task
2011-09-17 - CSharp - Lookup Hostname
2011-08-29 - C Sharp - StopWatch, The high resolution timer
2011-08-29 - CSharp - IsGuid
2011-08-26 - CSharp - Convert Between Meters and Feet
2011-08-23 - CSharp - ThreadPool and Windows Forms
2011-08-10 - C Sharp - MD5Sum / SHASum
2011-07-22 - CSharp - Fibonacci sum
2011-07-13 - CSharp - Palindrome
2011-07-11 - CSharp - The string Reverse
2011-07-10 - CSharp - Interviews FizzBuzz
2011-06-27 - CSharp - HowTo Parse a URL
2011-06-22 - CSharp - Extending any class
2011-06-13 - ASPNET - Login by username or email
2011-05-12 - CSharp - ASPNET Logoff
2011-03-07 - C Sharp - Windows Logoff
2011-03-02 - ASPNET - Dynamic Controls
2011-03-01 - C Sharp - Resize an image by size of height
2011-02-23 - C Sharp / MSSQL Get inserted value of NEWSEQUENTIALID()
2011-02-10 - CSharp - Shutdown or reboot windows
2011-02-10 - CSharp - Wake on Lan (WOL) Packet
2011-02-06 - C Sharp - Gridview Bound Yes No
2011-02-05 - MSSQL - Levenshtein
2011-01-30 - MSSQL - Adding SHASum support
2011-01-30 - MSSQL - Enabling CLR Functions
2011-01-30 - MSSQL - Adding MD5 checksum support
2011-01-30 - MSSQL - RegEx Support