一个字符串可以分解为多种二叉树。如果str长度为1,认为不可分解;如果str长度为N(N1),左半部分长度可以为1~N-1,右半部分为剩下的长度,然后你可以交换左右两部分。并且左右部分可以按照同样的逻辑,继续分解。每一个形成的字符串都可以是原字符串的旋变字符串。现在给你两个字符串str1和str2,判断str2是否为str1的旋变字符串。
输入描述:
输入包括两行,第一行一个字符串,代表str1,第二行一个字符串,代表str2。


输出描述:
如果str2是str1的旋变字符串请输出“YES”,否则输出“NO”。
示例1

输入

abcd
dbac

输出

YES

说明

abcd->d...abc->d...ab...c->d...b...a...c
示例2

输入

IJz
JzI

输出

YES

说明

左边为l右边为Jz交换  变Jzl

备注:
时间复杂度,额外空间复杂度。
加载中...