How To Reverse A String Using Stack

Introduction

 
In this blog, I am going to explain the program for string reverse using the Stack.
 
Software Requirements
  • c# 3.0 or higher,
  • Visual Studio or Notepad
Program
  1. using System;  
  2. using System.Collections;  
  3.   
  4. namespace StringReverseUsingStack {  
  5.  public static class StringReverse {  
  6.   // Reverse ExtentionMethod  
  7.   public static string Reverse(this string str) {  
  8.    // calling StringReverseUsingStack  
  9.    return Program.StringReverseUsingStack(str);  
  10.   }  
  11.  }  
  12.  class Program {  
  13.   static void Main() {  
  14.    Console.WriteLine("(Input is Optional and Default value will be CSharpcorner)");  
  15.    Console.WriteLine("Enter your data to Reverse otherwise just Hit Enter");  
  16.    string sampleText = Console.ReadLine();  
  17.    if (string.IsNullOrEmpty(sampleText))  
  18.     sampleText = "CSharpcorner";  
  19.    Console.WriteLine("=======================================================");  
  20.    Console.WriteLine($ "Original Text : {sampleText}");  
  21.    Console.WriteLine("=======================================================");  
  22.    var reverseText = StringReverseUsingStack(sampleText);  
  23.    Console.WriteLine($ "Reversed Text (Using Normal Method) : {reverseText}");  
  24.    Console.WriteLine("======================================================");  
  25.    reverseText = sampleText.Reverse();  
  26.    Console.WriteLine($ "Reversed Text (Using Extension Method) : {reverseText}");  
  27.   }  
  28.   public static string StringReverseUsingStack(string str) {  
  29.    var reversedStr = "";  
  30.    Stack myStack = new Stack();  
  31.    foreach(var t in str)  
  32.    myStack.Push(t);  
  33.    while (myStack.Count > 0)  
  34.     reversedStr += myStack.Pop();  
  35.    return reversedStr;  
  36.   }  
  37.  }  

Now run the code.
 
If User does not enter anything, then the default value will be CShaprcorner, i.e. Without Input
 
 
 
If User enters "CSharp", i.e. With Input
 
 
 
In my next blog, we will discuss String reverse using StringBuilder and thank you so much for reading my blog.