# Program for length of a string using recursion

• Difficulty Level : Basic
• Last Updated : 01 Aug, 2022

Given a string calculate length of the string using recursion.

Examples: ```Input : str = "abcd"
Output :4

Input : str = "GEEKSFORGEEKS"
Output :13```

Algorithm:

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

Implementation:

## C++

 `// CPP program to calculate length of``// a string using recursion``#include ``using` `namespace` `std;` `/* Function to calculate length */``int` `recLen(``char``* str)   ``{``    ``// if we reach at the end of the string``    ``if` `(*str == ``'\0'``)``        ``return` `0;``    ``else``        ``return` `1 + recLen(str + 1);``}` `/* Driver program to test above function */``int` `main()``{``    ``char` `str[] = ``"GeeksforGeeks"``;``    ``cout << recLen(str);``    ``return` `0;``}`

## Java

 `// java program to calculate length of``// a string using recursion``import` `java.util.*;` `public` `class` `GFG{` `    ``/* Function to calculate length */``    ``private` `static` `int` `recLen(String str)``    ``{` `        ``// if we reach at the end of the string``        ``if` `(str.equals(``""``))``            ``return` `0``;``        ``else``            ``return` `recLen(str.substring(``1``)) + ``1``;``    ``}` `    ``/* Driver program to test above function */``    ``public` `static` `void` `main(String[] args)``    ``{` `        ` `        ``String str =``"GeeksforGeeks"``;``        ``System.out.println(recLen(str));``    ``}``}` `// This code is contributed by Sam007.`

## Python3

 `# Python program to calculate``# length of a string using``# recursion``str` `=` `"GeeksforGeeks"` `# Function to``# calculate length``def` `string_length(``str``) :``    ` `    ``# if we reach at the``    ``# end of the string``    ``if` `str` `=``=` `'':``        ``return` `0``    ``else` `:``        ``return` `1` `+` `string_length(``str``[``1``:])``    ` `# Driver Code``print` `(string_length(``str``))` `# This code is contributed by``# Prabhjeet`

## C#

 `// C# program to calculate length of``// a string using recursion``using` `System;` `public` `class` `GFG{` `    ``/* Function to calculate length */``    ``private` `static` `int` `recLen(``string` `str)``    ``{` `        ``// if we reach at the end of the string``        ``if` `(str.Equals(``""``))``            ``return` `0;``        ``else``            ``return` `recLen(str.Substring(1)) + 1;``    ``}` `    ``/* Driver program to test above function */``    ``public` `static` `void` `Main()``    ``{` `        ` `        ``string` `str =``"GeeksforGeeks"``;``        ``Console.WriteLine(recLen(str));``    ``}``}` `// This code is contributed by vt_m.`

## PHP

 ``

## Javascript

 ``

Output

`13`

Time Complexity : O(n)
Auxiliary Space : O(n) for recursion call stack.

Since this solution requires extra space and function call overhead, it is not recommended to use it in practice.

My Personal Notes arrow_drop_up