Reverse String
💻 coding

Reverse String

1 min read 172 words
1 min read
ShareWhatsAppPost on X
  • 1The function reverses a string represented as an array of characters in-place without using extra space.
  • 2It operates with a time complexity of O(n) and a space complexity of O(1).
  • 3The provided example demonstrates the reversal of the input array from ['h','e','l','l','o'] to ['o','l','l','e','h'].

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The function reverses a string represented as an array of characters in-place without using extra space."

Reverse String

Write a function that reverses a string. The input string is given as an array of characters char[].

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

You may assume all the characters consist of printable ASCII characters.

Example 1:

Input: ["h","e","l","l","o"]

Output: ["o","l","l","e","h"]

Example 2:

Input: ["H","a","n","n","a","h"]

Output: ["h","a","n","n","a","H"]

Solution:

using System;
using System.Collections.Generic;
using System.Text;

namespace LeetCode.AskGif.Easy.String
{
 public class ReverseStringSoln
 {
 public void ReverseString(ref char[] s)
 {
 for(int i=0, j = s.Length - 1; i < j; i++, j--)
 {
 char temp = s[i];
 s[i] = s[j];
 s[j] = temp;
 }
 }
 }
}

Time Complexity: O(n)

Space Complexity: O(1)

Unit Tests:

using CodingUnitTest.Util;
using LeetCode.AskGif.Easy.String;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Text;

namespace CodingUnitTest.Easy.String
{ 
 [TestClass]
 public class ReverseStringSolnTests
 {
 [TestMethod]
 public void ReverseStringSoln_First()
 {
 var input = new char[] { 'h', 'e', 'l', 'l', 'o' };
 var output = new char[]{'o', 'l', 'l', 'e', 'h'};
 new ReverseStringSoln().ReverseString(ref input);

 ContractAssert.AreEqual(input, output);
 }
 }
}

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

AskGif

Published on 25 May 2020 · 1 min read · 172 words

Part of AskGif Blog · coding

You might also like