Leetcode 796

Rotate String

Table of Contents

Questions

Given two strings s and goal, return true if and only if s can become goal after some number of shifts on s.

A shift on s consists of moving the leftmost character of s to the rightmost position.

For example, if s = “abcde”, then it will be “bcdea” after one shift.

Example 1:

Input: s = “abcde”, goal = “cdeab” Output: true Example 2:

Input: s = “abcde”, goal = “abced” Output: false

Constraints:

1 <= s.length, goal.length <= 100 s and goal consist of lowercase English letters.

Solution

class Solution {
public:
    bool rotateString(string s, string goal) {
        s.append(s);
        if(s.find(goal) != string::npos && s.length()/2 == goal.length()) return true;
        return false;
    }
};

This was leetcode daily challenge. If the given s is abcde, then s+s is abcdeabcde. If goal is cdeab, then it should be in abcdeabcde. If the length of goal is not half of the length of s, then it is not possible to rotate s to goal.

Leetcode 1672

Richest Customer Wealth

Leetcode 20

Valid Parentheses