Quick actions

cmd+k|ctrl+k

Navigation

Languages

Recursive

Snippet info

Language

Java

Visibility

public

Author

ingserge

Created

2026-06-26T21:08:19.723438Z

Updated

2026-06-26T21:08:19.723438Z

import java.util.*;

class Main {
    
    
    public static String reverseString(String originalString){
        return reverseStringRecursive(originalString, originalString.length());
    }
    
    public static String reverseStringIterative(String originalString){
        String reversed="";
        
        for (int i=0; i < originalString.length();i++){
            reversed+= originalString.charAt(originalString.length()-1-i);
        }
        return reversed;
    }
    
    public static String reverseStringRecursive(String originalString, int position){
        if (originalString == null && originalString.length() ==0){
            return "";
        }
        if (position == 0){
            return "";
        }
        
        return originalString.charAt(position-1)+ reverseStringRecursive(originalString, position -1);
        
    }

    public static int factorial(int n){
        if (n <= 0 ){
            System.out.println("Invalid number for factorial");
            
            return 0;
        }
        
        if (n ==1){
            return 1;
        }
        
        return n* factorial (n-1);
    }
    
    public static int factorialIterative(int n){
         if (n <= 0 ){
            System.out.println("Invalid number for factorial");
            return 0;
        }
        
        int result=1;
        
        while (n >0){
            result = result*n;
            n--;
        } 
        return result;
        
    }
    
    // 0 1 1 2 3 5
    // 0 1 2 3 4 5
    public static int fibonacci(int n){
        if (n <= 1){
            return n;
        }
        return fibonacci(n-1) + fibonacci (n-2); 
    }
    
    public static int fibonacciIterative (int n){
        ArrayList<Integer> fibonacciList = new ArrayList<Integer>();
        
        fibonacciList.add(0);
        fibonacciList.add(1);
        
        for (int i =2 ; i<= n; i++){
            fibonacciList.add(fibonacciList.get(i-1)+fibonacciList.get(i-2));
        }
        return fibonacciList.get(n);
    }

    public static void main(String[] args) {
        System.out.println("Original- 1234567890 "+ " Reversed - "+reverseStringIterative("1234567890"));
    }
}
INFO