DEV Community

Rakesh Reddy Peddamallu
Rakesh Reddy Peddamallu

Posted on • Edited on

Leetcode - 796. Rotate String

so basically we have a string s , and if its possible to rotate it and get to the string goal then we can return true , if it is not possible then we return false

Lets just see 1 example

Input: s = "abcde", goal = "cdeab"
Output: true

Here the s string after 1 rotation becomes "bcdea" ,
after one more rotation it become "cdeab"

so we r able to get to the goal ie "cdeab" on rotations so the output is true

Now the approach is we go through all the rotations ie its length times and see if at any time matches with goal , if it matches then we return true .

Now the question is how to rotate a string

simple -> if s is string then s.substring(1) removes the first character , example s="abc" then s.substring(1) becomes "bc" , now we want that removed character to be at last so
we code

 s.substring(1) + s[0];
Enter fullscreen mode Exit fullscreen mode

to rotate string

there are other ways to remove first character of string u can go through this article
now we iterate through its length number of times and see for a match so the code becomes

/**
 * @param {string} s
 * @param {string} goal
 * @return {boolean}
 */
var rotateString = function(s, goal) {
    for(let i=0;i<s.length;i++){
    s = s.substring(1) + s[0];
    if(s === goal){
            return true
        }
    }
    return false
};

Enter fullscreen mode Exit fullscreen mode

please let me know if you have any queries 😄 . also try to explore other possible solutions in the leetcode

Top comments (0)