码迷,mamicode.com
首页 > 其他好文 > 详细

796. Rotate String - Easy

时间:2019-08-15 09:13:35      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:mos   pac   i++   dea   character   use   htm   only   input   

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.

 

M1: use built-in methods

time = O(n), space = O(1)

class Solution {
    public boolean rotateString(String A, String B) {
        return A.length() == B.length() && (A + A).contains(B);
    }
}

 

M2: two pointers

time = O(n), space = O(1)

class Solution {
    public boolean rotateString(String A, String B) {
        if(A.length() != B.length()) {
            return false;
        }
        int i = 0, j = 0;
        while(i < A.length()) {
            if(A.charAt(i) != B.charAt(j)) {
                if(j != 0) {
                    j = 0;
                } else {
                    i++;
                }
            } else {
                i++;
                j++;
            }
        }
        
        if(j == B.length()) {   // same, no rotation
            return true;
        }
        i = 0;
        while(j < B.length()) {
            if(A.charAt(i++) != B.charAt(j++)) {
                return false;
            }
        }
        return true;
    }
}

 

796. Rotate String - Easy

标签:mos   pac   i++   dea   character   use   htm   only   input   

原文地址:https://www.cnblogs.com/fatttcat/p/11355727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!