Recursion Examples
Recursion Examples
def sum_of_natural_numbers(n):
# Base case
if n == 0:
return 0
# Recursive case
return n + sum_of_natural_numbers(n - 1)
print(sum_of_natural_numbers(10)) # Output: 55
# Base case
if exp == 0:
return 1
# Recursive case
3. Reversing a String
def reverse_string(s):
# Base case
if len(s) == 0:
return ""
# Recursive case
# Base case
if b == 0:
return a
# Recursive case
return gcd(b, a % b)
5. Tower of Hanoi
if n == 1:
return
6. Binary Search
# Base case
return -1
if arr[mid] == target:
return mid
else:
def flatten_list(nested_list):
# Base case
if not nested_list:
return []
if isinstance(nested_list[0], list):
else:
def is_palindrome(s):
# Base case
if len(s) <= 1:
return True
# Recursive case
if s[0] != s[-1]:
return False
return is_palindrome(s[1:-1])
# Base cases
if n == 1:
return 1
if n == 2:
return 2
# Recursive case
print(climb_stairs(5)) # Output: 8
def permutations(s):
# Base case
if len(s) == 1:
return [s]
# Recursive case
result = []
result.append(char + perm)
return result