reverse a string

Challenge: Reverse a String

Welcome to Day 1 of our 100 Days DSA Challenge! 🚀 Today, we dive into a classic problem: reversing a string. Whether you’re a seasoned coder or just starting, this challenge is a fundamental exercise that sets the stage for the exciting journey ahead.

The Problem:

Write a function that takes a string as input and returns the string reversed. For instance, if the input is “hello,” the output should be “olleh.”

Why This Problem?

Reversing a string might seem simple, but it serves as a crucial building block for more complex algorithms. It tests your understanding of string manipulation and array traversal.

Challenge Yourself:

Before delving into the solutions, take a moment to tackle the problem yourself. Don’t worry if you find it challenging; the journey is as important as the destination!

Solutions:

Solution 1 – Using In-Built Functions:

const reverseStringFn = (str) => {
    return str.split('').reverse().join('');
}

This solution employs JavaScript’s in-built functions – split, reverse, and join – to effortlessly achieve the desired result. While concise, it’s essential to understand the underlying operations.

Solution 2 – Without In-Built Functions:

const reverseString = (str) => {
    let revStr = "";
    for (let i = str.length - 1; i >= 0; i--) {
        revStr += str[i];
    }
    return revStr;
}

In this solution, we iterate through the string from the end, building the reversed string character by character. It’s a classic example of solving the problem without relying on in-built functions, offering a deeper insight into algorithmic thinking.

Conclusion:

Congratulations on completing Day 1 of our DSA Challenge! Reversing a string might be the tip of the iceberg, but it’s a crucial skill. Tomorrow brings a new challenge, so stay curious, keep coding, and enjoy the learning journey!

Happy coding! 🌟💻

#100DaysDSAChallenge #DataStructures #Algorithms #ProgrammingCommunity #CodeNewbie

Leave a Reply

Your email address will not be published. Required fields are marked *