Рубрики

Программа для длины строки с использованием рекурсии

По заданной строке вычислите длину строки с помощью рекурсии.

Примеры:

Input : str = "abcd"
Output :4

Input : str = "GEEKSFORGEEKS"
Output :13

Мы обсудили 5 различных способов найти длину строки в C ++
Как найти длину строки без string.h и цикла в C?

Алгоритм

recLen(str)
{
   If str is NULL 
       return 0
   Else 
      return 1 + recLen(str + 1)
}

C ++

// Программа CPP для расчета длины
// строка с использованием рекурсии
#include <bits/stdc++.h>

using namespace std;

  
/ * Функция для расчета длины * /

int recLen(char* str)    

{

    // если мы дойдем до конца строки

    if (*str == '\0'

        return 0;

    else

        return 1 + recLen(str + 1); 

}

  
/ * Программа драйвера для проверки вышеуказанной функции * /

int main()

{

    char str[] = "GeeksforGeeks";

    cout << recLen(str);

    return 0;

}

Джава

// Java-программа для расчета длины
// строка с использованием рекурсии

import java.util.*;

  

public class GFG{

  

    / * Функция для расчета длины * /

    private static int recLen(String str) 

    {

  

        // если мы дойдем до конца строки

        if (str.equals(""))

            return 0;

        else

            return recLen(str.substring(1)) + 1;

    }

  

    / * Программа драйвера для проверки вышеуказанной функции * /

    public static void main(String[] args) 

    {

  

          

        String str ="GeeksforGeeks";

        System.out.println(recLen(str));

    }

}

  
// Этот код предоставлен Sam007.

python3

# Python программа для расчета
# длина строки с использованием
# рекурсия

str = "GeeksforGeeks"

  
# Функция для
# рассчитать длину

def recLen(i) :

  

    global str

      

    # если мы достигнем в

    # конец строки

    if (i == len(str)) :

        return 0

    else :

        return 1 + recLen(i + 1

      
Код водителя

print (recLen(0))

  
# Этот код предоставлен
# Маниш Шоу (manishshaw1)

C #

// C # программа для расчета длины
// строка с использованием рекурсии

using System;

  

public class GFG{

  

    / * Функция для расчета длины * /

    private static int recLen(string str) 

    {

  

        // если мы дойдем до конца строки

        if (str.Equals(""))

            return 0;

        else

            return recLen(str.Substring(1)) + 1;

    }

  

    / * Программа драйвера для проверки вышеуказанной функции * /

    public static void Main() 

    {

  

          

        string str ="GeeksforGeeks";

        Console.WriteLine(recLen(str));

    }

}

  
// Этот код предоставлен vt_m.

PHP

<?php
// PHP программа для расчета
// длина строки используя
// рекурсия

   
// Функция для
// вычисляем длину

function recLen(&$str, $i)    

{

    // если мы достигнем

    // конец строки

    if ($i == strlen($str)) 

        return 0;

    else

        return 1 + 

               recLen($str

                      $i + 1); 

}

    
// Код драйвера

$str = "GeeksforGeeks";

echo (recLen($str, 0));

  
// Этот код предоставлен
// Маниш Шоу (manishshaw1)
?>


Выход:

13

Сложность времени: O (n)
Вспомогательное пространство: O (n) для стека рекурсивных вызовов.

Поскольку это решение требует дополнительного пространства и накладных расходов на вызовы функций, его не рекомендуется использовать на практике.

Рекомендуемые посты:

Программа для длины строки с использованием рекурсии

0.00 (0%) 0 votes