觀察該旋轉的結果,goal 可由原先的字串分成 2 組組成,例如 (ab)(cde) -> (cde)(ab)
所以藉由迭代字串分成兩組子字串並相加: s[i:] + s[:i] 是否和 goal 相同,否則回傳 Fasle
想想如果是C語言會是怎麼寫,slicing 和 string addition 太方便了
開一個 flag 紀錄,然後可能是兩層 for 迴圈嘗試可能的旋轉數,某個字母沒 match 到則 break 內部的 for 迴圈
測goal是不是s+s的substring可以O(n)
但是不用builtin的話要手刻KMP((