Programa para invertir una string (Iterativo y Recursivo)

Dada una string, escriba un programa recursivo para invertirla.
 

string-reverse

C++

// C++ program to reverse a string using stack
#include <bits/stdc++.h>
using namespace std;
 
void recursiveReverse(string &str)
{
   stack<char> st;
   for (int i=0; i<str.length(); i++)
       st.push(str[i]);
 
   for (int i=0; i<str.length(); i++) {
       str[i] = st.top();
       st.pop();
   }      
}
 
// Driver program
int main()
{
    string str = "geeksforgeeks";
    recursiveReverse(str);
    cout << str;
    return 0;
}

Java

// Java program to reverse a string using stack
import java.util.*;
class GFG
{
  public static String recursiveReverse(char []str)
 {
   Stack<Character> st = new Stack<>();
   for(int i=0; i<str.length; i++)
        st.push(str[i]);
 
   for (int i=0; i<str.length; i++) {
    str[i] = st.peek();
    st.pop();
   }    
   return String.valueOf(str);// converting character array to string
 }
 
// Driver program
   public static void main(String []args)
   {
      String str = "geeksforgeeks";
      str = recursiveReverse(str.toCharArray());// passing character array as parameter
      System.out.println(str);
   }
}
// This code is contributed by Adarsh_Verma

Python3

# Python program to reverse a string using stack
 
def recursiveReverse(str):
     
    # using as stack
    stack = []
 
    for i in range(len(str)):
        stack.append(str[i])
     
    for i in range(len(str)):
        str[i] = stack.pop()
 
if __name__ == "__main__":
    str = "geeksforgeeks"
 
    # converting string to list
    # because strings do not support
    # item assignment
    str = list(str)
    recursiveReverse(str)
 
    # converting list to string
    str = ''.join(str)
    print(str)
     
# This code is contributed by
# sanjeev2552

C#

// C# program to reverse a string using stack
using System;
using System.Collections.Generic;
 
class GFG
{
    public static String recursiveReverse(char []str)
    {
        Stack<char> st = new Stack<char>();
        for(int i = 0; i < str.Length; i++)
            st.Push(str[i]);
 
        for (int i = 0; i < str.Length; i++)
        {
            str[i] = st.Peek();
            st.Pop();
        }
         
        // converting character array to string
        return String.Join("",str);
    }
 
    // Driver program
    public static void Main()
    {
        String str = "geeksforgeeks";
         
        // passing character array as parameter
        str = recursiveReverse(str.ToCharArray());
        Console.WriteLine(str);
    }
}
 
// This code is contributed by Rajput-Ji

Javascript

<script>
      // JavaScript program to reverse a string
 
      function recursiveReverse(str)
      {
        var revString = "";
 
        for (var i = str.length - 1; i >= 0; i--)
        {
          revString += str[i];
        }
 
        return revString;
      }
 
      // Driver program
      var str = "geeksforgeeks";
      document.write(recursiveReverse(str));
       
      // This code is contributed by rdtank.
    </script>

C++

// A Simple Iterative C++ program to reverse
// a string
#include <bits/stdc++.h>
using namespace std;
 
// Function to reverse a string
void reverseStr(string& str)
{
    int n = str.length();
 
    // Swap character starting from two
    // corners
    for (int i = 0; i < n / 2; i++)
        swap(str[i], str[n - i - 1]);
}
 
// Driver program
int main()
{
    string str = "geeksforgeeks";
    reverseStr(str);
    cout << str;
    return 0;
}

Java

// A Simple Java program
// to reverse a string
import java.util.Scanner;
 
public class reverseStr
{
// Function to reverse
// a string
void stringReverse()
{
    String str = "geeksforgeeks";
    int length = str.length();
    StringBuffer revString = new StringBuffer();
    for (int i = length - 1;
             i >= 0; i--)
    {
        revString.append(str.charAt(i));
    }
    System.out.println(revString);
}
 
// Driver Code
public static void main(String []args)
{
    reverseStr s= new reverseStr();
    s.stringReverse();
}
}
 
// This code is contributed
// by prabhat kumar singh

Python

# A Simple python program
# to reverse a string
 
# Function to
# reverse a string
def reverseStr(str):
    n = len(str)
     
    # initialising a empty
    # string 'str1'
    str1 = ''
    i = n - 1
    while i >= 0:
         
        # copy str
        # to str1
        str1 += str[i]
        i -= 1
    print(str1)    
 
# Driver Code
def main():
    str = "geeksforgeeks";
    reverseStr(str);
     
if __name__=="__main__":
    main()    
     
# This code is contributed
# by prabhat kumar singh

C#

// A Simple Iterative C# program to reverse
// a string
using System;
 
class GFG
{
 
// Function to reverse a string
static String reverseStr(String str)
{
    int n = str.Length;
 
    // Swap character starting from two
    // corners
    for (int i = 0; i < n / 2; i++)
        str = swap(str,i,n - i - 1);
    return str;
}
static String swap(String str, int i, int j)
{
    char []ch = str.ToCharArray();
    char temp = ch[i];
    ch[i] = ch[j];
    ch[j] = temp;
    return String.Join("",ch);
}
 
// Driver code
public static void Main(String[] args)
{
    string str = "geeksforgeeks";
    str= reverseStr(str);
    Console.WriteLine(str);
}
}
 
// This code is contributed by Princi Singh

PHP

<?php
// A Simple Iterative PHP
// program to reverse
// a string
 
// Function to reverse a string
function reverseStr(&$str)
{
    $n = strlen($str);
 
    // Swap character starting
    // from two corners
    for ($i = 0; $i < $n / 2; $i++)
        //swap the string
        list($str[$i],
             $str[$n - $i - 1]) = array($str[$n - $i - 1],
                                        $str[$i]);
}
 
// Driver Code
$str = "geeksforgeeks";
 
reverseStr($str);
echo $str;
 
// This code is contributed by ajit
?>

Javascript

<script>
    // A Simple Iterative Javascript program to reverse a string
     
    // Function to reverse a string
    function reverseStr(str)
    {
        let n = str.length;
 
        // Swap character starting from two
        // corners
        for (let i = 0; i < parseInt(n / 2, 10); i++)
            str = swap(str,i,n - i - 1);
        return str;
    }
     
    function swap(str, i, j)
    {
        let ch = str.split('');
        let temp = ch[i];
        ch[i] = ch[j];
        ch[j] = temp;
        return ch.join("");
    }
 
    let str = "geeksforgeeks";
    str= reverseStr(str);
    document.write(str);
     
</script>

C++

// A Simple Iterative C++ program to reverse
// a string
#include <bits/stdc++.h>
using namespace std;
 
// Function to reverse a string
void reverseStr(string& str)
{
    int n = str.length();
 
    // Swap character starting from two
    // corners
    for (int i=0, j=n-1; i<j; i++,j--)
        swap(str[i], str[j]); 
}
 
// Driver program
int main()
{
    string str = "geeksforgeeks";
    reverseStr(str);
    cout << str;
    return 0;
}

Java

//A Simple Iterative Java program to reverse
//a string
class GFG {
 
    //Function to reverse a string
    static void reverseStr(String str)
    {
     int n = str.length();
     char []ch = str.toCharArray();
     char temp;
 
     // Swap character starting from two
     // corners
     for (int i=0, j=n-1; i<j; i++,j--)
     {
         temp = ch[i];
         ch[i] = ch[j];
         ch[j] = temp;
     }
         
      
     System.out.println(ch);
    }
 
    //Driver program
    public static void main(String[] args) {
         
        String str = "geeksforgeeks";
         reverseStr(str);
    }
}
// This code is contributed by Ita_c.

Python3

# A Simple Iterative Python program to
# reverse a string
 
# Function to reverse a string
def reverseStr(str):
    n = len(str)
 
    i, j = 0, n-1
 
    # Swap character starting from
    # two corners
    while i < j:
        str[i], str[j] = str[j], str[i]
 
        i += 1
        j -= 1
 
 
# Driver code
if __name__ == "__main__":
    str = "geeksforgeeks"
 
    # converting string to list
    # because strings do not support
    # item assignment
    str = list(str)
    reverseStr(str)
 
    # converting list to string
    str = ''.join(str)
 
    print(str)
 
# This code is contributed by
# sanjeev2552

C#

// A Simple Iterative C# program 
// to reverse a string
using System;
 
class GFG
{
 
    //Function to reverse a string
    static void reverseStr(String str)
    {
        int n = str.Length;
        char []ch = str.ToCharArray();
        char temp;
 
        // Swap character starting from two
        // corners
        for (int i=0, j=n-1; i<j; i++,j--)
        {
            temp = ch[i];
            ch[i] = ch[j];
            ch[j] = temp;
        }
        Console.WriteLine(ch);
    }
 
    //Driver program
    public static void Main(String[] args)
    {
        String str = "geeksforgeeks";
        reverseStr(str);
    }
}
 
// This code is contributed by PrinciRaj1992

PHP

<?php
// A Simple Iterative PHP
// program to reverse a string
 
// Function to reverse a string
function reverseStr (&$str)
{
    $n = strlen($str);
 
    // Swap character starting
    // from two corners
    for ($i = 0, $j = $n - 1;
         $i < $j; $i++, $j--)
        //swap function
        list($str[$i],
             $str[$j]) = array($str[$j],
                               $str[$i]);
}
 
// Driver Code
$str = "geeksforgeeks";
reverseStr($str);
echo $str;
 
// This code is contributed by ajit.
?>

Javascript

<script>
//A Simple Iterative Javascript program to reverse
//a string
 
//Function to reverse a string
function reverseStr(str)
{
    let n = str.length;
     let ch = str.split("");
     let temp;
  
     // Swap character starting from two
     // corners
     for (let i=0, j=n-1; i<j; i++,j--)
     {
         temp = ch[i];
         ch[i] = ch[j];
         ch[j] = temp;
     }
          
       
     document.write(ch.join("")+"<br>");
}
 
//Driver program
let str = "geeksforgeeks";
reverseStr(str);
 
// This code is contributed by rag2127
</script>

C++

// Recursive C++ program to reverse a string
#include <bits/stdc++.h>
using namespace std;
 
void recursiveReverse(string &str, int i = 0)
{
    int n = str.length();
    if (i == n / 2)
        return;
    swap(str[i], str[n - i - 1]);
    recursiveReverse(str, i + 1);
}
 
// Driver program
int main()
{
    string str = "geeksforgeeks";
    recursiveReverse(str);
    cout << str;
    return 0;
}

Java

// Recursive Java program to reverse a string
class GFG
{
 
static void recursiveReverse(char[] str, int i)
{
    int n = str.length;
    if (i == n / 2)
        return;
    swap(str,i,n - i - 1);
    recursiveReverse(str, i + 1);
}
static void swap(char []arr, int i, int j)
{
    char temp= arr[i];
    arr[i]=arr[j];
    arr[j]=temp;
}
 
// Driver program
public static void main(String[] args)
{
    char[] str = "geeksforgeeks".toCharArray();
    recursiveReverse(str,0);
    System.out.println(String.valueOf(str));
}
}
 
// This code is contributed by 29AjayKumar

Python3

# Recursive Python program to reverse a string
 
def recursiveReverse(str, i = 0):
    n = len(str)
 
    if i == n // 2:
        return
     
    str[i], str[n-i-1] = str[n-i-1], str[i]
 
    recursiveReverse(str, i+1)
 
if __name__ == "__main__":
    str = "geeksforgeeks"
 
    # converting string to list
    # because strings do not support
    # item assignment
    str = list(str)
    recursiveReverse(str)
 
    # converting list to string
    str = ''.join(str)
    print(str)
 
# This code is contributed by
# sanjeev2552

C#

// Recursive C# program to reverse a string
using System;
 
public class GFG
{
  
static void recursiveReverse(char[] str, int i)
{
    int n = str.Length;
    if (i == n / 2)
        return;
    swap(str,i,n - i - 1);
    recursiveReverse(str, i + 1);
}
static char[] swap(char []arr, int i, int j)
{
    char temp= arr[i];
    arr[i]=arr[j];
    arr[j]=temp;
    return arr;
}
  
// Driver program
public static void Main(String[] args)
{
    char[] str = "geeksforgeeks".ToCharArray();
    recursiveReverse(str,0);
    Console.WriteLine(String.Join("",str));
}
}
// This code is contributed by Princi Singh

C++

// A quickly written program for reversing a string
// using reverse()
#include<bits/stdc++.h>
using namespace std;
int main()
{
   string str = "geeksforgeeks";
     
   // Reverse str[begin..end]
   reverse(str.begin(),str.end());
     
   cout << str;
   return 0;
}

Java

// A Simple Java program
// to reverse a string
 
class GFG
{
 
    public static void main(String[] args)
    {
        String str = "geeksforgeeks";
         
        // Reverse str[begin..end]
        str = reverse(str);
 
        System.out.println(str);
    }
 
    static String reverse(String input)
    {
        char[] temparray = input.toCharArray();
        int left, right = 0;
        right = temparray.length - 1;
 
        for (left = 0; left < right; left++, right--)
        {
            // Swap values of left and right
            char temp = temparray[left];
            temparray[left] = temparray[right];
            temparray[right] = temp;
        }
        return String.valueOf(temparray);
    }
}
 
// This code is contributed by 29AjayKumar

Python

# A Simple python program
# to reverse a string
 
# Function to
# reverse a string
def reverseStr(str):
     
    # print the string
    # from last
    print(str[::-1])    
 
# Driver Code
def main():
    str = "geeksforgeeks";
    reverseStr(str);
     
if __name__=="__main__":
    main()    
     
# This code is contributed
# by prabhat kumar singh

C#

// A Simple C# program to reverse a string
using System;
     
class GFG
{
 
    public static void Main(String[] args)
    {
        String str = "geeksforgeeks";
         
        // Reverse str[begin..end]
        str = reverse(str);
 
        Console.WriteLine(str);
    }
 
    static String reverse(String input)
    {
        char[] temparray = input.ToCharArray();
        int left, right = 0;
        right = temparray.Length - 1;
 
        for (left = 0; left < right; left++, right--)
        {
            // Swap values of left and right
            char temp = temparray[left];
            temparray[left] = temparray[right];
            temparray[right] = temp;
        }
        return String.Join("",temparray);
    }
}
 
/* This code is contributed by PrinciRaj1992 */

PHP

<?php
// A Simple PHP program
// to reverse a string
 
// Function to reverse a string
function reverseStr($str)
{
 
    // print the string
    // from last
    echo strrev($str);
}
 
// Driver Code
$str = "geeksforgeeks";
 
reverseStr($str);
 
// This code is contributed
// by Srathore
?>

Java

//Java program to reverse a string using StringBuffer class
 
import java.io.*;
import java.util.*;
 
class GFG {
     
    //Driver Code
    public static void main (String[] args) {
        String str = "geeksforgeeks";//Input String
         
        //Step 1: Initialise an object of StringBuffer class
        StringBuffer sb = new StringBuffer(str);
         
        //Step 2: Invoke the .reverse() method
        sb.reverse();
         
        //Step 3: Convert the StringBuffer to string by using toString() method
        System.out.println(sb.toString());
         
    }
}
 
//This code is contributed by shruti456rawal

Publicación traducida automáticamente

Artículo escrito por kartik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *