# @param nestedList a list, each element in the list # can be a list or integer, for example [1,2,[1,2]] # @return {int[]} a list of integer defflatten(self, nestedList): a = [] for i in range(len(nestedList)):#用于判断给定列表中的元素是否含有列表(注:这一目的主要是为了结束递归的死循环) if type(nestedList[i]) == list:#如果有就将列表中的列表分别取出来放到新的列表中 for j in range(len(nestedList)): if type(nestedList[j]) != list: a.append(nestedList[j]) else: for k in range(len(nestedList[j])): a.append((nestedList[j])[k]) return Solution.flatten(self,a)#使用递归完成多次“套娃”的情况
return nestedList#如果没有就直接返回这个列表
nums = [4,[3,[2,[1]]]] so = Solution() print(so.flatten(nums))