擅长:python、mysql、java
<p>旋转双链接列表是一种使用指针的快速操作。如果有匹配的话,你可以尝试所有的旋转。在</p>
<p>collections模块还提供<code>Counter</code>,如果两个列表具有相同元素的相同计数,则可以使用它进行快速测试。它只是一个明显的长度相同的检查更强大的版本。在</p>
<pre><code>import collections
def is_cyc_perm(seq1, seq2):
mset1 = collections.Counter(seq1)
mset2 = collections.Counter(seq2)
if mset1 != mset2:
return False
size = len(seq1)
deq1 = collections.deque(seq1)
deq2 = collections.deque(seq2)
for _ in range(size):
deq2.rotate()
if deq1 == deq2:
return True
return False
</code></pre>