其他分享
首页 > 其他分享> > 173. 二叉搜索树迭代器

173. 二叉搜索树迭代器

作者:互联网


通过一个优先队列进行存储数据 然后每一次读数据都是输出第一个结点

class BSTIterator {
    Queue<Integer>ls = new PriorityQueue<Integer>();

    public BSTIterator(TreeNode root) {
        dfs(root);
    }
    public void dfs(TreeNode root) {
        if(root==null) {return ;}
        ls.add(root.val);
        if(root.left!=null)dfs(root.left);
        if(root.right!=null)dfs(root.right);
    }
    /** @return the next smallest number */
    public int next() {
        return ls.poll();
    }

    /** @return whether we have a next smallest number */
    public boolean hasNext() {
        if(ls.size() == 0)
            return false;
        else return true;
    }
}

标签:return,迭代,173,dfs,二叉,next,null,root,public
来源: https://www.cnblogs.com/cznczai/p/11363169.html