【原題目】:
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
.
參考 : https://leetcode.com/problems/rotate-string/
【My Solution】:
我的解法相當直覺,就先將字串第一個字元抓出來,然後把第一個字元以後的字串取成子字串
再把第一個字元加到子字串最後面,再判斷是否與B一樣,如此在跑完一個O(n)的迴圈後就能找出答案
我看到有高手用一行就解出此題目,以下提供參考
return A.length() == B.length() && (A + A).contains(B);
文章標籤
全站熱搜
留言列表