当前位置:首页 > 编程笔记 > 正文
已解决

力扣labuladong——一刷day40

来自网友在路上 175875提问 提问时间:2023-11-19 16:41:30阅读次数: 75

最佳答案 问答题库758位专家为你答疑解惑

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣341. 扁平化嵌套列表迭代器


前言


N叉树的结构,构造迭代器

一、力扣341. 扁平化嵌套列表迭代器

/*** // This is the interface that allows for creating nested lists.* // You should not implement it, or speculate about its implementation* public interface NestedInteger {**     // @return true if this NestedInteger holds a single integer, rather than a nested list.*     public boolean isInteger();**     // @return the single integer that this NestedInteger holds, if it holds a single integer*     // Return null if this NestedInteger holds a nested list*     public Integer getInteger();**     // @return the nested list that this NestedInteger holds, if it holds a nested list*     // Return empty list if this NestedInteger holds a single integer*     public List<NestedInteger> getList();* }*/
public class NestedIterator implements Iterator<Integer> {LinkedList<NestedInteger> list;public NestedIterator(List<NestedInteger> nestedList) {list = new LinkedList<>(nestedList);}@Overridepublic Integer next() {return list.remove(0).getInteger();}@Overridepublic boolean hasNext() {while(!list.isEmpty() && !list.get(0).isInteger()){List<NestedInteger> first = list.remove(0).getList();for(int i = first.size()-1; i >= 0; i --){list.addFirst(first.get(i));}}return !list.isEmpty();}
}/*** Your NestedIterator object will be instantiated and called as such:* NestedIterator i = new NestedIterator(nestedList);* while (i.hasNext()) v[f()] = i.next();*/
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"力扣labuladong——一刷day40":http://eshow365.cn/6-39457-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!