1 class Solution(object): 2 def pancakeSort(self, A: 'List[int]') -> 'List[int]': 3 n = len(A) 4 result = list() 5 while n > 1: 6 idx = A.index(n) 7 dif = n - 1 - idx 8 pre = [] 9 if dif != 0: 10 if idx != 0: 11 result.append(idx+1) 12 result.append(n) 13 pre = A[idx+1:] 14 pre.reverse() 15 A = pre + A[:idx] 16 n = len(A) 17 #print(A) 18 return result
从大到小寻找每个数字的位置,将其先移动到第一个位置,再将其移动到其数字应该的位置(index==num-1)。