LeetCode 题解:341. 扁平化嵌套列表迭代器,DFS,JavaScript,详细注释
原题链接:341. 扁平化嵌套列表迭代器
解题思路:
输入:
nestedList=[[1,1],2,[1,1]]
时,nestedList[0]
也是一个NestedInteger
类型,只是nestedList[0].getInteger() === null
。可以将
nestedList
当做一个树,每个节点可以通过getInteger
方法获取当前值,通过getList
方法获取下一层节点。使用
DFS
,先搜索出树的所有节点的值,将值都存入数组。使用一个指针
index
,始终指向next
对应的取值位置。每次调用next
,都将指针向后移动一位。如果index
指向类型为number
,hasNext
返回true
。
复制代码
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/6e11a11a0fc1a06ab28441ebd】。文章转载请联系作者。
评论