Welcome to Subscribe On Youtube
796. Rotate String
Description
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 <= 100sandgoalconsist of lowercase English letters.
Solutions
-
class Solution { public boolean rotateString(String s, String goal) { return s.length() == goal.length() && (s + s).contains(goal); } } -
class Solution { public: bool rotateString(string s, string goal) { return s.size() == goal.size() && strstr((s + s).data(), goal.data()); } }; -
class Solution: def rotateString(self, s: str, goal: str) -> bool: return len(s) == len(goal) and goal in s + s -
func rotateString(s string, goal string) bool { return len(s) == len(goal) && strings.Contains(s+s, goal) } -
function rotateString(s: string, goal: string): boolean { return s.length === goal.length && (goal + goal).includes(s); } -
class Solution { /** * @param String $s * @param String $goal * @return Boolean */ function rotateString($s, $goal) { return strlen($goal) === strlen($s) && strpos($s . $s, $goal) !== false; } } -
impl Solution { pub fn rotate_string(s: String, goal: String) -> bool { s.len() == goal.len() && (s.clone() + &s).contains(&goal) } }