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

怎么在word上做超链接网站郑州模板建站代理

怎么在word上做超链接网站,郑州模板建站代理,微信公众号 网站开发 2016,百度收录怎么做二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2] 解题思路 中序遍历是一种二叉树遍历方式,按照“左根右”的顺序遍历二叉树节点。 1、递归…

二叉树的中序遍历

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。

示例 1:

在这里插入图片描述
输入:root = [1,null,2,3]
输出:[1,3,2]

解题思路

中序遍历是一种二叉树遍历方式,按照“左根右”的顺序遍历二叉树节点。

  • 1、递归地遍历左子树。
  • 2、访问当前节点。
  • 3、递归地遍历右子树。

对应先序遍历 根左右
对应后序遍历 左右根

先、中、后序遍历其实指的是遍历根节点先后顺序

Java实现中序遍历

public class InorderTraversal {static class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int val) {this.val = val;}}public List<Integer> inorderTraversal(TreeNode root) {List<Integer> result = new ArrayList<>();inorderTraversalHelper(root, result);return result;}private void inorderTraversalHelper(TreeNode node, List<Integer> result) {if (node == null) {return;}inorderTraversalHelper(node.left, result);result.add(node.val);inorderTraversalHelper(node.right, result);}public static void main(String[] args) {// 示例用法TreeNode root = new TreeNode(1);root.left = new TreeNode(4);root.right = new TreeNode(2);root.right.left = new TreeNode(3);InorderTraversal solution = new InorderTraversal();List<Integer> result = solution.inorderTraversal(root);System.out.println(result);  // 输出:[4, 1, 3, 2]}
}

Java实现先序遍历

/*** 先序遍历* 根->左->右*/
public class PreorderTraversal {static class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int val) {this.val = val;}}public List<Integer> preorderTraversal(TreeNode root) {List<Integer> result = new ArrayList<>();preorderTraversalHelper(root, result);return result;}private void preorderTraversalHelper(TreeNode node, List<Integer> result) {if (node == null) {return;}result.add(node.val);preorderTraversalHelper(node.left,result);preorderTraversalHelper(node.right,result);}public static void main(String[] args) {// 示例用法TreeNode root = new TreeNode(1);root.left = new TreeNode(4);root.left.left = new TreeNode(5);root.left.left.right = new TreeNode(8);root.left.right = new TreeNode(6);root.right = new TreeNode(2);root.right.left = new TreeNode(3);PreorderTraversal solution = new PreorderTraversal();List<Integer> result = solution.preorderTraversal(root);System.out.println(result);  // 输出:[1, 3, 2]}
}

Java实现后序遍历

/*** 后序遍历* 左->右->根*/
public class PostorderTraversal {static class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int val) {this.val = val;}}public List<Integer> postorderTraversal(TreeNode root) {List<Integer> result = new ArrayList<>();postorderTraversalHelper(root, result);return result;}private void postorderTraversalHelper(TreeNode node, List<Integer> result) {if (node == null) {return;}postorderTraversalHelper(node.left, result);postorderTraversalHelper(node.right, result);result.add(node.val);}public static void main(String[] args) {// 示例用法TreeNode root = new TreeNode(1);root.left = new TreeNode(4);root.right = new TreeNode(2);root.right.left = new TreeNode(3);PostorderTraversal solution = new PostorderTraversal();List<Integer> result = solution.postorderTraversal(root);System.out.println(result);  // 输出:[1, 3, 2]}
}

时间空间复杂度

  • 时间复杂度:O(n),其中n是二叉树中的节点数,每个节点都需要访问一次。
  • 空间复杂度:O(n),取决于递归调用栈的深度,最坏情况下为O(n)。
http://www.tj-hxxt.cn/news/31095.html

相关文章:

  • 计算机网络培训速成班国外seo比较好的博客网站
  • 徐州做网站的公司有几家成都seo的方法
  • 手机网站做多宽的图片360推广登陆
  • apache 指向wordpress新站整站优化
  • 返利网站 帐如何做百度人工智能
  • 免费建网站样板手机版成都关键词自然排名
  • wordpress widgets网站推广优化流程
  • 网站开发发展现状如何提升网站搜索排名
  • 吉安购物网站制作知识搜索引擎
  • 建设网站赚钱猛兽领主优化设计七年级上册数学答案
  • wordpress首页显示vip标识广州四楚seo顾问
  • 服务器做网站好怎么申请域名建立网站
  • 新野做网站天津seo标准
  • 郑州商城网站开发seo是指搜索引擎营销
  • 用meteor框架做的微博网站百度百度推广
  • 网站怎么做让PC和手机自动识别万网域名注册
  • magento网站建设排名优化培训
  • 做网站定金是多少钱seo就业哪家好
  • 十大设计网站排名seo外链发布软件
  • 网站制作手机网站电商网站销售数据分析
  • 高端网站特色百度风云榜小说榜排名
  • dedecms做视频网站中国国际新闻
  • 建设电子商务网站要多少钱谷歌自然排名优化
  • 在线做txt下载网站本周新闻热点10条
  • icann官方网站常见的系统优化软件
  • 网易企业邮箱费用荥阳seo
  • 淘宝网站制作公司哪家好北京seo网站推广
  • 做外贸网站外包百度关键词搜索指数
  • 网络营销推广论文专业seo站长工具全面查询网站
  • 如何做外贸网站推广济南网站seo公司