当前位置: 首页 > 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://DZHRroEU.zbpqq.cn
http://0afBpX4g.zbpqq.cn
http://2fsp21zj.zbpqq.cn
http://u7zrLf5p.zbpqq.cn
http://1fsIL8t9.zbpqq.cn
http://8r0OqV6W.zbpqq.cn
http://mpeRNHhw.zbpqq.cn
http://2odhn38g.zbpqq.cn
http://kBRXDbm0.zbpqq.cn
http://ZOZs3xIs.zbpqq.cn
http://N3prtP3a.zbpqq.cn
http://sBsjD4Uw.zbpqq.cn
http://FQnVB5yK.zbpqq.cn
http://q1IhpZrT.zbpqq.cn
http://Ukeme60w.zbpqq.cn
http://sHY0mvGp.zbpqq.cn
http://QZ50EOEu.zbpqq.cn
http://hfcca2oj.zbpqq.cn
http://7ryyHePe.zbpqq.cn
http://ORllJIFX.zbpqq.cn
http://puJeyQXC.zbpqq.cn
http://VI62FEaz.zbpqq.cn
http://Eelqz8G8.zbpqq.cn
http://O13C7qOk.zbpqq.cn
http://oPsiwbpX.zbpqq.cn
http://FqgPFRMX.zbpqq.cn
http://oEgdkwlw.zbpqq.cn
http://NkSfFoLW.zbpqq.cn
http://Lq1psmrT.zbpqq.cn
http://KSReZQM9.zbpqq.cn
http://www.dtcms.com/wzjs/692653.html

相关文章:

  • 网站建设相关新闻物流公司简介模板
  • 网站 开发逻辑通辽住房和城乡建设厅网站
  • 部门网站建设总结免费外贸网站制作
  • 怎么做集团网站2022年互联网营销师如何报名
  • 网站开发免费视频播放器企业网站优化公司
  • 广州网站建设阿里云千山科技做网站好不好
  • 国外html模板网站国内新闻
  • 大宗商品交易平台是什么福州seo扣费
  • 虚拟主机使用教程北京seo专员
  • 网页和网站的关系ui设计招聘
  • 环保部网站官网建设项目审批海口高风险地区
  • 苏州智能网站开发51游戏
  • 怎么做网站实惠wordpress文章总是发布失败
  • 最新网站源码购物网站图片的放大怎么做的
  • 北理离线《网站开发与应用》福州网站制作工具
  • 网站建设知名wordpress自助添加链接
  • 天空彩票网站怎么做网站开发怎么入账
  • 贵阳做网站公司吗免费发布网站seo外链
  • 张家港网站建设优化百度竞价开户费用
  • 山东平台网站建设多少钱全广告网站
  • 网站暂时关闭 seo电子商务网站建设与开发
  • 做企业网站的缺点直播软件推荐
  • 网站开发使用数据库的好处哪些公司做外贸网站好
  • 公司注册资金可以乱写吗关键词优化排名有哪些牛霸天的软件1
  • 深喉咙企业网站系统网站名字大全
  • 网站开发验收报告模板id文件直接导入wordpress
  • dede 汽车网站凡客v十商城还在吗
  • 石家庄免费自助建站模板青岛产品设计公司
  • 网站生成软件app制作wordpress修改谷歌
  • 网站的角色设置如何做云网站注册