How to reverse string without temporary variable in C#

1 Answer

0 votes
using System;

class Program
{
     static string ReverseStringWithoutTemporaryVariable(string str) {
        int start = 0, end = str.Length - 1;
        
        char[] arr = str.ToCharArray();
     
        while (start < end) {
            arr[start] ^= arr[end]; // XOR used to swap two variables
            arr[end] ^= arr[start];
            arr[start] ^= arr[end];
            start++;
            end--;
        }
        
        return String.Join("", arr);
    }

    static void Main() {
        string str = "c# java c";
 
        str = ReverseStringWithoutTemporaryVariable(str);

        Console.Write(str);
    }
}



/*
run:

c avaj #c

*/

 



answered Aug 22, 2023 by avibootz

Related questions

1 answer 164 views
1 answer 172 views
1 answer 157 views
1 answer 152 views
1 answer 151 views
1 answer 143 views
1 answer 145 views
...