LeetCode 796. Rotate String

Posted Dylan_Java_NYC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

 

以上是关于LeetCode 796. Rotate String的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode&Python] Problem 796. Rotate String

796. Rotate String

796. Rotate String

[LC] 796. Rotate String

796. Rotate String - Easy

LeetCode算法题-Rotate String(Java实现)