2024-11-03 Daily Challenge

Today I have done leetcode's November LeetCoding Challenge with cpp.

November LeetCoding Challenge 3

Description

Rotate String

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) {
    if(s.length() != goal.length()) return false;
    for(int i = 0; i < s.length(); ++i) {
      if(s.substr(i) + s.substr(0, i) == goal) return true;
    }
    return false;
  } 
};