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

中太建设集团网站菏砖网站建设

中太建设集团网站,菏砖网站建设,网站访问加速器,临沂建筑模板厂生产厂家目录 题目描述: 解法一:递归法 解法二:迭代法 解法三:Morris 遍历 二叉树的前序遍历 题目描述: 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root […

目录

题目描述:

解法一:递归法

解法二:迭代法

解法三:Morris 遍历


二叉树的前序遍历

题目描述:

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

示例 1:

输入:root = [1,null,2,3]
输出:[1,2,3]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [1]
输出:[1]

示例 4:

输入:root = [1,2]
输出:[1,2]

示例 5:

输入:root = [1,null,2]
输出:[1,2]

提示:

  • 树中节点数目在范围 [0, 100] 内
  • -100 <= Node.val <= 100

解法一:递归法

    List<Integer> res = new ArrayList<>();public List<Integer> preorderTraversal(TreeNode root) {if(root == null){return res;}res.add(root.val);preorderTraversal(root.left);preorderTraversal(root.right);return res;}

复杂度分析

  • 时间复杂度:O(n)O(n),其中 nn 是二叉树的节点数。每一个节点恰好被遍历一次。
  • 空间复杂度:O(n)O(n),为递归过程中栈的开销,平均情况下为 O(\log n)O(logn),最坏情况下树呈现链状,为 O(n)O(n)。

解法二:迭代法

    public List<Integer> preorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<>();if(root == null){return res;}Deque<TreeNode> stack = new ArrayDeque<>();stack.push(root);while(!stack.isEmpty()){TreeNode temp = stack.pop();res.add(temp.val);if(temp.right != null){stack.push(temp.right);}if(temp.left != null){stack.push(temp.left);}}return res;}

复杂度分析

  • 时间复杂度:O(n)O(n),其中 nn 是二叉树的节点数。每一个节点恰好被遍历一次。
  • 空间复杂度:O(n)O(n),为迭代过程中显式栈的开销,平均情况下为 O(\log n)O(logn),最坏情况下树呈现链状,为 O(n)O(n)。

解法三:Morris 遍历

    public List<Integer> preorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();if (root == null) {return res;}TreeNode p1 = root, p2 = null;while (p1 != null) {p2 = p1.left;if (p2 != null) {while (p2.right != null && p2.right != p1) {p2 = p2.right;}if (p2.right == null) {res.add(p1.val);p2.right = p1;p1 = p1.left;continue;} else {p2.right = null;}} else {res.add(p1.val);}p1 = p1.right;}return res;}

复杂度分析

  • 时间复杂度:O(n)O(n),其中 nn 是二叉树的节点数。没有左子树的节点只被访问一次,有左子树的节点被访问两次。
  • 空间复杂度:O(1)O(1)。只操作已经存在的指针(树的空闲指针),因此只需要常数的额外空间。

http://www.laogonggong.com/news/58494.html

相关文章:

  • 网站 目录结构邢台网站招聘员工123
  • 点评网站建设广州市增城建设局网站
  • 做做网站已更新关键词排名点击工具
  • 建筑网站大图网站代码修改
  • 网站建设要素白城学做网站
  • 龙岗网站 建设深圳信科网站seo方法
  • 长春专业网站推广个人资讯网站建设
  • jianshe导航网站php备份网站
  • 网站商城app建设方案深网著名网站
  • 吉安律师网站建设做自己的网站的好处
  • 做课件挣钱的网站浏览器怎么打开网站服务器
  • 网站开发与设计的参考文献网站html5模板
  • 网站做的支付宝接口吗软件外包公司好吗
  • 重庆市网站备案材料在线定制网站官网
  • 网站被黑 禁止js跳转宝山区建设用地事务所网站
  • 广西建设网桂建云网站做网站成功案例
  • 网站首页原型图怎么做自己做网站大概多少钱
  • 优设网设计师导航yoast wordpress seo 教程
  • 南宁网站托管php网站开发图文教程
  • 分类目录网站有哪些重庆平台网站建设费用
  • 电商是通过什么渠道销售产品网站优化 图片
  • 网站ui设计收费网站平台怎么建设
  • 公司网站域名解析谁来做有关企业电子网站建设论文
  • 零基础建设网站教程网页设计及网站建设的相关概念
  • 网站的常用建设技术有哪些自己搞网站做外贸
  • 网站粘度计算公式搜索引擎推广的网络营销渠道
  • 备案的时候网站要建设好吗怎么提高seo排名
  • wordpress大型站点湖北住房城乡建设厅网站
  • 铁哥们网站建设国外 家具 网站模板下载
  • oss如何做网站wordpress categoryin