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

涞水网站建设免费网站提供

涞水网站建设,免费网站提供,北京招标网官网,医学招聘网站开发区题目 144. 二叉树的前序遍历 分析 这道题目是比较基础的题目,我们首先要知道二叉树的前序遍历是什么? 就是【根 左 右】 的顺序,然后利用递归的思想,就可以得到这道题的答案,任何的递归都可以采用 栈 的结构来实现…

题目

144. 二叉树的前序遍历

分析

这道题目是比较基础的题目,我们首先要知道二叉树的前序遍历是什么?
就是【根 左 右】 的顺序,然后利用递归的思想,就可以得到这道题的答案,任何的递归都可以采用 的结构来实现,所以我会写两种方式来解决这道题目。

代码

递归版本

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public List<Integer> preorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<>();func(root,res);return res;}void func(TreeNode cur,List<Integer> res) {if(cur == null) return;// 先记录根节点res.add(cur.val);// 遍历左子树func(cur.left,res);// 遍历右子树func(cur.right,res);}
}

在这里插入图片描述

非递归版本

需要借助栈这种数据结构,先把根节点入栈,判断栈是否为空,不为空弹出来栈顶元素,栈顶元素不为空,先把右子树加入栈里面,再把左子树加入栈里面,为空继续遍历栈。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public List<Integer> preorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<>();Stack<TreeNode> s = new Stack<>();s.push(root);while(!s.isEmpty()) {TreeNode node = s.pop();if(node != null) {res.add(node.val);}else {continue;}s.push(node.right);s.push(node.left);}return res;}}

在这里插入图片描述

http://www.yayakq.cn/news/441135/

相关文章:

  • 如何设计一个漂亮的网站线上推广话术
  • 江苏省住房和城乡建设部网站手机网站怎么制作软件
  • 免费发布产品信息网站团队建设网站介绍
  • 网站建设构想最专业的网站建设公司
  • 常德市网站建设影视制作宣传片公司
  • 在线做简单的网站吗健身网站开发项目总结
  • 旅游网页设计模板网站免费什么网站都能进的浏览器
  • 什么网站简单做网站宣传有用吗
  • 网站建设管理条例建设企业网站公司价格
  • 青岛市网站制作网站通知模板
  • 买网站模板十个常见的网络推广渠道
  • 网站关键词密这么稀释网站权重如何做
  • 大型网站建设关于网站建设的调研报告
  • 怎么给购物网站做推广中国最厉害的公关人
  • 青岛路桥建设集团有限公司网站php+mysql网站开发...
  • 建网站的客户百度代理查询系统
  • 陕西省住房建设厅网站手机网站标准字体大小
  • 高明网站设计报价app研发录
  • 网页制作网站建设实战大全免费wap建站
  • 兴县做网站电商设计师招聘
  • 假发网站是怎么做的衡水做企业网站的公司
  • 台州网站制作台州网站建设网站调用字体库
  • 高校网站模板官网建设多少钱
  • 个人创建网站代码导入wordpress
  • 织梦搭建网站教程南京市玄武区建设局网站
  • 中关村网站建设公司郑州市重点项目建设办公室网站
  • 南昌做网站装修的企业哈尔滨seo网络推广
  • 秦皇岛市建设局网站关于装配式专家沈阳康平志诚建设集团网站
  • 池州网站建设南京seo排名外包
  • 解析软件的网站网页制作怎么把图片放进去