0
点赞
收藏
分享

微信扫一扫

LeetCode 281. 锯齿迭代器

LeetCode 281. 锯齿迭代器

文章目录

题目描述

LeetCode 281. 锯齿迭代器
提示:


一、解题关键词


二、解题报告

1.思路分析

2.时间复杂度

3.代码示例

public class ZigzagIterator {
    List<List<Integer>> data = new ArrayList<>();
    int size;
    int cur ;
    List<Integer> index = new ArrayList<>();
    public ZigzagIterator(List<Integer> v1, List<Integer> v2) {
        data.add(v1);
        data.add(v2);
        size = 2;
        cur = 0;
        index.add(0);
        index.add(0);
    }

    public int next() {
        int ans = data.get(cur).get(index.get(cur));
        index.set(cur,index.get(cur) + 1);
        cur = (cur + 1) % size;
        return ans;
        
    }

    public boolean hasNext() {
        int start = cur;
        while(index.get(cur) == data.get(cur).size()){
            cur = (cur + 1) % size;
            if(cur == start) return false;
        }

        return true;
        
    }
}

2.知识点

类比二维数组的处理手法,cur 是需要变化的 (上下变化)

总结

相同题目

xxx

举报

相关推荐

0 条评论