一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

一亩三分地官方iOS手机应用下载
查看: 1383|回复: 3
收起左侧

[算法题] Flatten iterator 怎么做?

[复制链接] |试试Instant~ |关注本帖
头像被屏蔽
hfzhangql 发表于 2014-9-29 10:05:22 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
austurela 发表于 2014-9-29 11:31:14 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
本帖最后由 austurela 于 2014-9-29 11:59 编辑

Please ignore...
回复 支持 反对

使用道具 举报

北美农民 发表于 2014-9-29 11:52:47 | 显示全部楼层
关注一亩三分地微博:
Warald
  1.   public static Iterator<String> flatten(final Iterator<Iterator<String>> iters) {
  2.       return new Iterator<String>() {
  3.         private Iterator<String> curIter = null;
  4.         private String nextItem = advanceItem();
  5.         
  6.         private String advanceItem() {
  7.           if (iters == null && curIter == null) throw new NullPointerException();
  8.             
  9.           while ((iters != null && iters.hasNext()) || (curIter != null && curIter.hasNext())) {
  10.             if ((curIter == null || !curIter.hasNext()))
  11.               if (iters != null && iters.hasNext())
  12.                 curIter = iters.next();

  13.             if (curIter == null) continue;
  14.             
  15.             while (curIter.hasNext()) {
  16.               String result = curIter.next();
  17.               if (result != null) return result;
  18.             }
  19.           }

  20.           return null;
  21.         }
  22.         
  23.         public boolean hasNext() {
  24.           return nextItem != null;
  25.         }

  26.         public String next() {
  27.           if (!hasNext())
  28.             throw new NullPointerException();

  29.           String oldItem = nextItem;
  30.           nextItem = advanceItem();
  31.           return oldItem;
  32.         }

  33.         public void remove() {
  34.           throw new UnsupportedOperationException();
  35.         }
  36.     };
  37.   }
复制代码

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

lixiang.xjtu 发表于 2014-9-29 13:40:12 | 显示全部楼层
这个题我昨天中午做了。某公司的online 题
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-3-30 17:16

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表