0

I wrote below code to reverse string , but it does not work. It says s[left] is read-only.

public string ReverseString(string s) {
    int left = 0;
    int right=s.Length - 1;
    while(left < right){
        char temp = s[left];
        s[left] = s[right];
        s[right] = temp;
        left++;
        right--;
    }
    return s;
}
Jason
  • 37
  • 8
  • Yes, should use StringBuilder as string is immutable in .net private string ReverseString(string s) { StringBuilder sb = new StringBuilder(s); int left = 0; int right = s.Length - 1; while (left < right) { char temp = sb[left]; sb[left] = sb[right]; sb[right] = temp; left++; right--; } return sb.ToString(); } – Jason Jul 01 '16 at 22:57
  • `public string Reverse(string text) { StringBuilder sb = new StringBuilder(); for (int i = text.Length - 1; i > -1; i--) sb.Append(text[i]); return sb.ToString(); }` –  Jul 01 '16 at 23:24

0 Answers0