Problem Statement
Calculate the length of a string using the recursion.
Examples
Example 1
Input: String = “TheJat”
Output: Length of the string = 6Theory
To calculate the length of a string using recursion, we can follow these steps:
- Base Case: If the string is empty, return 0.
- Recursive Step: Ignore the first character of the string and call the function recursively with the rest of the string.
- Addition: Add 1 to the length obtained from the recursive call.
Different Approaches
1️⃣ Recursion
stringLength("hello")
|
| return 1 + stringLength("ello")
|
stringLength("ello")
|
| return 1 + stringLength("llo")
|
stringLength("llo")
|
| return 1 + stringLength("lo")
|
stringLength("lo")
|
| return 1 + stringLength("o")
|
stringLength("o")
|
| return 1 + stringLength("")
|
stringLength("")
|
| return 0
|
Code Implementation in C++
#include <iostream>
#include <string>
using namespace std;
// Function to calculate the length of a string using recursion
int stringLength(string str) {
// Base case: if the string is empty, return 0
if (str == "")
return 0;
// Recursive step: ignore the first character and call the function recursively with the rest of the string
return 1 + stringLength(str.substr(1));
}
int main() {
string str = "TheJat";
cout << "Length of the string \"" << str << "\" is " << stringLength(str) << endl;
return 0;
}
Output
Length of the string "TheJat" is 6
Explanation:
- In this implementation, we recursively calculate the length of the string by ignoring the first character and calling the function recursively with the rest of the string.
- When the string becomes empty, we return 0.
- Otherwise, we return 1 + stringLength(str.substr(1)), which adds 1 to the length obtained from the recursive call.
Complexity Analysis:
- Time Complexity:
O(n)- Since each character of the string is visited once.
- Space Complexity:
O(n)- Due to the recursion stack, which can go as deep as the length of the string.

Join the discussion
Sign in with your account to post comments, reply to others, and participate in the conversation.
Login to Comment