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

青岛胶州网站建设自己如何制作网页

青岛胶州网站建设,自己如何制作网页,中等职业学校示范建设专题网站,怎么做电商平台目录 一、二叉树理论基础 二、非递归遍历思路 三、相关算法题目 四、总结 一、二叉树理论基础 详见:代码随想录刷题day34|(二叉树篇)二叉树的递归遍历-CSDN博客 二、非递归遍历思路 通过栈来模拟递归的过程。递归的本质是函数调用栈&a…

目录

一、二叉树理论基础

二、非递归遍历思路

三、相关算法题目

四、总结


一、二叉树理论基础

详见:代码随想录刷题day34|(二叉树篇)二叉树的递归遍历-CSDN博客

二、非递归遍历思路

通过栈来模拟递归的过程。递归的本质是函数调用栈,而非递归方法则是显式地使用栈来保存待处理的节点;

初始化一个栈保存待处理的节点,初始化一个list,用来保存遍历结果,首先将根节点压入栈,之后重复以下过程:栈非空,栈顶元素出栈,添加进list,然后将出栈节点的右节点压入栈、左节点压入栈;当栈为空,说明所有节点处理完毕;

注:由于栈的先进后出,而前序遍历的顺序是中左右,所以要先压入右节点,再压入左节点,这样左节点可以先出栈;

后序遍历:左右中

前序遍历是:中左右,在前序遍历中,先将左节点压入栈,再将右节点压入栈,这样得到:中右左;最后将list反转,得到:左右中 ---> 后序遍历

三、相关算法题目

144.二叉树的前序遍历

class Solution {//非递归遍历public List<Integer> preorderTraversal(TreeNode root) {//迭代法Deque<TreeNode> deque = new ArrayDeque<>();List<Integer> list = new ArrayList<>();//deque.push(root);if(root == null){return list;}deque.push(root);while(!deque.isEmpty()){//list.add(deque.pop().val);TreeNode node = deque.pop(); //出栈list.add(node.val); //添加进list//添加右孩子 添加左孩子if(node.right != null){deque.push(node.right);}if(node.left != null){deque.push(node.left);}}return list;     }
}

 145.二叉树的后序遍历

class Solution {public List<Integer> postorderTraversal(TreeNode root) {//非递归遍历List<Integer> list = new ArrayList<>();Deque<TreeNode> deque = new ArrayDeque<>();if(root == null){return list;}deque.push(root);while(!deque.isEmpty()){TreeNode node = deque.pop();list.add(node.val);if(node.left != null){//先处理左节点deque.push(node.left);}if(node.right != null){//再处理右节点deque.push(node.right);}}//reverse(list, 0, list.size() - 1);Collections.reverse(list);//将列表反转return list;//得到后序遍历}
}

四、总结

1.前序遍历中注意先将右子树压入栈,再压入左子树;

2.后序遍历如何在前序遍历的基础上得到;

3.list集合反转有方法直接用,Collections.reverse(list);


文章转载自:

http://l9k8Qj1p.skmzm.cn
http://dfgcWn4I.skmzm.cn
http://d0s5JGHd.skmzm.cn
http://XYQVGq37.skmzm.cn
http://b8gxcR7W.skmzm.cn
http://spGP4GVx.skmzm.cn
http://77EXXmbF.skmzm.cn
http://oLZURwQU.skmzm.cn
http://jfaiTYDF.skmzm.cn
http://ULDRkJ9K.skmzm.cn
http://BieXF2WQ.skmzm.cn
http://zYWOLlyZ.skmzm.cn
http://Wl9kxgVc.skmzm.cn
http://iYzYYaBZ.skmzm.cn
http://An4XRliS.skmzm.cn
http://DaBPj4E5.skmzm.cn
http://MZQaxyJ6.skmzm.cn
http://sCwkvVKF.skmzm.cn
http://dVLCQ6AO.skmzm.cn
http://lmAnt0R0.skmzm.cn
http://4yAqc56w.skmzm.cn
http://F0GJ09wn.skmzm.cn
http://3ZHujMeq.skmzm.cn
http://n3tLWBK5.skmzm.cn
http://TgygBwY2.skmzm.cn
http://apbKcCb1.skmzm.cn
http://gu28wXF1.skmzm.cn
http://PKqdZgYR.skmzm.cn
http://2qFoqJqC.skmzm.cn
http://oQ5XqEY9.skmzm.cn
http://www.dtcms.com/wzjs/708004.html

相关文章:

  • 网站包503错误wordpress文章对齐方式
  • 长沙本土网站制作公司福州建设网站的公司
  • 做和别人一样的网站怎么制作古装视频
  • 保健品网站设计机构公众号平台制作
  • 网站建设需求和页面需求怎么提微信网站开发软件
  • 航达建设网站怎么早网站上放广告
  • 国外效果做的好的网站网站建设背景文字
  • 网站建设的几大要素网站抄袭别人的做可以吗
  • 用开源吗做的网站可以用吗安卓手机编程软件
  • 建设一个网站需要什么软件电子产品外观设计
  • 文化传播集团网站建设wordpress 微信咨询代码
  • swing做网站网站域名备案信息
  • 商务定制网站银川网站建设公司哪家好
  • 网站建设文字教程视频旅游网站设计的意义
  • 辽宁省建设部网站wordpress与php
  • 天津中小企业建设网站公众号自己做电影网站
  • 网站如何兼容大多浏览器雕塑网站模板
  • 有哪些可以做外链的网站平湖模板网站建设公司
  • 网站做微信支付功能2022最新传奇手游
  • 网站开发项目经验和教训制作静态网站需要什么
  • 沈阳模板建站软件新会网页制作公司
  • 广西宏泰成建设集团网站小米新手机发布
  • 设计商城网站网站建设是什么意思 打不开
  • 电子商务网站开发与实训答案金蝶直播软件
  • wordpress网站在哪官方网站在哪里
  • 湛江网站建设费用木马科技网站建设
  • 广州中心网站建设网络服务器搭建与配置
  • 网站建站需要什么软件百度关键词排名点
  • 重庆网站建设的公司哪家好广西传导网络科技有限公司
  • asp 网站名字品牌形象设计毕业设计