当前位置: 首页 > news >正文

平顶山住房和城乡建设局网站可视化编程软件

平顶山住房和城乡建设局网站,可视化编程软件,建设网站哪家便宜,做物流网站注意什么实现一个二叉搜索树迭代器类BSTIterator #xff0c;表示一个按中序遍历二叉搜索树#xff08;BST#xff09;的迭代器#xff1a; BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在…实现一个二叉搜索树迭代器类BSTIterator 表示一个按中序遍历二叉搜索树BST的迭代器 BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 中的数字且该数字小于 BST 中的任何元素。boolean hasNext() 如果向指针右侧遍历存在数字则返回 true 否则返回 false 。int next()将指针向右移动然后返回指针处的数字。 注意指针初始化为一个不存在于 BST 中的数字所以对 next() 的首次调用将返回 BST 中的最小元素。 你可以假设 next() 调用总是有效的也就是说当调用 next() 时BST 的中序遍历中至少存在一个下一个数字。 示例 输入 [BSTIterator, next, next, hasNext, next, hasNext, next, hasNext, next, hasNext] [[[7, 3, 15, null, null, 9, 20]], [], [], [], [], [], [], [], [], []] 输出 [null, 3, 7, true, 9, true, 15, true, 20, false]解释 BSTIterator bSTIterator new BSTIterator([7, 3, 15, null, null, 9, 20]); bSTIterator.next(); // 返回 3 bSTIterator.next(); // 返回 7 bSTIterator.hasNext(); // 返回 True bSTIterator.next(); // 返回 9 bSTIterator.hasNext(); // 返回 True bSTIterator.next(); // 返回 15 bSTIterator.hasNext(); // 返回 True bSTIterator.next(); // 返回 20 bSTIterator.hasNext(); // 返回 False提示 树中节点的数目在范围 [1, 105] 内0 Node.val 106最多调用 105 次 hasNext 和 next 操作 进阶 你可以设计一个满足下述条件的解决方案吗next() 和 hasNext() 操作均摊时间复杂度为 O(1) 并使用 O(h) 内存。其中 h 是树的高度。 思路一中序遍历 c解法 class BSTIterator { private:TreeNode* root;vectorint t;int cnt; public:BSTIterator(TreeNode* root) : root(root), cnt(0) {stackTreeNode* s;if (root nullptr) return;while (root || !s.empty()) {while (root) {s.push(root);root root-left;}if (!s.empty()) {root s.top();s.pop();t.emplace_back(root-val);root root-right;}}}int next() {return cnt t.size() ? t[cnt] : 0;}bool hasNext() {return cnt t.size();} }; 分析 本题可转换为求二叉树的中序遍历利用栈来存储二叉树节点先放入二叉树左子树当左子树放完后再放入右子树输出的时候根据栈中节点存放位置来输出时间复杂度为O(n)空间复杂度为O(n) 总结 本题考察对二叉树中序遍历的应用利用栈来存储节点可使后面查找时的时间复杂度降低
http://www.hkea.cn/news/14493105/

相关文章:

  • discuz 网站标题关键词优化排名易下拉排名
  • 互联网门户网站是什么长沙seo优化方案
  • 大兴网站建设推广wordpress 360字体
  • 广东 网站建设 公司排名做百度推广销售怎么样
  • 生成拼贴的网站杭州建站公司
  • 网站设计一级网页中国专业做鞋子的网站
  • 电子商务网站开发教程实力网站建设电话
  • html5网站建设 教程视频做网站没有活
  • h5响应式网站建设方案怎么写安徽网站建设推荐
  • 不会做网站能做网络销售吗wordpress login插件
  • 网站建设捌金手指下拉二八网站后台栏目发布
  • 做四级题目的网站电子项目外包平台
  • 六安公司做网站网站开发模式有哪些
  • 天博网站建设合肥网站建设久飞
  • 网站建设工作经历网店搬家
  • 淘宝的网站建设的目标网站建设的目的模板
  • 网站建设2000元大数据技术主要学什么
  • 郑州建站程序自己能否建立公司网站
  • 西安网站推广排名绵阳 网站开发
  • 河北邯郸做网站的公司官方网站建设 招标公告
  • 太原网站空间苏宁网站开发人员工资
  • 零基础1小时快速建站运涛网站建设
  • 做服装广告素材网站实时新闻最新消息
  • 中国建筑网建设通网站安装完wordpress主题
  • 移动互联网网站建设个人备案挂企业网站
  • 西安网站制作西安搜推宝百度小说排行榜风云榜单
  • 手机做无水印短视频网站ftp网站 免费
  • 聊城网站开发个人雄安专业网站建设公司
  • 易货网站开发wordpress4.8 汉化
  • qq发网站链接怎么做网站建设公司生存