LeetCode 796. Rotate String

原题链接在这里:https://leetcode.com/problems/rotate-string/

题目:

We are given two strings, A and B.

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 and B will have length at most 100.

题解:

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 }
原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/12539138.html