跳到主要内容

341.扁平化嵌套列表迭代器

链接:341.扁平化嵌套列表迭代器
难度:Medium
标签:栈、树、深度优先搜索、设计、队列、迭代器
简介:给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。

题解 1 - typescript

  • 编辑时间:2021-03-23
  • 执行用时:128ms
  • 内存消耗:49.2MB
  • 编程语言:typescript
  • 解法介绍:递归重新载入。
class NestedIterator {
private arr: number[] = [];
constructor(nestedList: NestedInteger[]) {
this.loadArray(nestedList);
}
hasNext(): boolean {
return this.arr.length > 0;
}
next(): number {
return this.arr.shift()!;
}
loadArray(nestedList: NestedInteger[]): void {
for (const nestedInteger of nestedList) {
if (nestedInteger.isInteger()) {
this.arr.push(nestedInteger.getInteger()!);
} else {
this.loadArray(nestedInteger.getList());
}
}
}
}