LeetCode 796. Rotate String
原题链接在这里:https://leetcode.com/problems/rotate-string/
题目:
We are given two strings, A
and B
.
A shift on A
consists of taking string A
and moving the leftmost character to the rightmost position. For example, if A = 'abcde'
, then it will be 'bcdea'
after one shift on A
. Return True
if and only if A
can become B
after some number of shifts on A
.
Example 1: Input: A = 'abcde', B = 'cdeab' Output: true Example 2: Input: A = 'abcde', B = 'abced' Output: false
Note:
A
andB
will have length at most100
.
题解:
Like this rotate question, we could double it by A + A.
And check if B is within A + A.
Time Complexity: O(n). n = A.length().
Space: O(n).
AC Java:
1 class Solution { 2 public boolean rotateString(String A, String B) { 3 if(A == null || B == null || A.length() != B.length()){ 4 return false; 5 } 6 7 return (A + A).indexOf(B) != -1; 8 } 9 }