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

网站建设优化解析手机app设计方案

网站建设优化解析,手机app设计方案,多语言免费网站建设,WordPress扫码基础概念#xff1a;前中后序遍历 1/ \2 3/ \ \ 4 5 6层次遍历顺序#xff1a;[1 2 3 4 5 6]前序遍历顺序#xff1a;[1 2 4 5 3 6]中序遍历顺序#xff1a;[4 2 5 1 3 6]后序遍历顺序#xff1a;[4 5 2 6 3 1] 层次遍历使用 BFS 实现#xff0c;利用的就是 BFS…基础概念前中后序遍历 1/ \2 3/ \ \ 4 5 6层次遍历顺序[1 2 3 4 5 6]前序遍历顺序[1 2 4 5 3 6]中序遍历顺序[4 2 5 1 3 6]后序遍历顺序[4 5 2 6 3 1] 层次遍历使用 BFS 实现利用的就是 BFS 一层一层遍历的特性而前序、中序、后序遍历利用了 DFS 实现。 前序、中序、后序遍只是在对节点访问的顺序有一点不同其它都相同。 ① 前序 void dfs(TreeNode root) {visit(root);dfs(root.left);dfs(root.right); }② 中序 void dfs(TreeNode root) {dfs(root.left);visit(root);dfs(root.right); }③ 后序 void dfs(TreeNode root) {dfs(root.left);dfs(root.right);visit(root); }145. 二叉树的后序遍历 给你一棵二叉树的根节点 root 返回其节点值的 后序遍历 。 输入root [1,null,2,3] 输出[3,2,1] 示例 2 输入root [] 输出[] 示例 3 输入root [1] 输出[1] 提示 树中节点的数目在范围 [0, 100] 内-100 Node.val 100 进阶 递归算法很简单你可以通过迭代算法完成吗 思路 法一DFS 递归见上面的基础概念。 法二迭代 后序的迭代遍历可以理解成 ” 前序遍历 “ 的反转前序遍历 这个 ”前序遍历 “ 的遍历顺序为根节点右子树、左子树 代码(Java、C) 法一递归 Java /*** 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 ListInteger ans new ArrayList();public ListInteger postorderTraversal(TreeNode root) {dfs(root);return ans;}public void dfs(TreeNode root){if(root null) return;dfs(root.left);dfs(root.right);ans.add(root.val);} }C /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:vectorint ans;vectorint postorderTraversal(TreeNode* root) {dfs(root);return ans;}void dfs(TreeNode* root){if(root nullptr) return;dfs(root-left);dfs(root-right);ans.push_back(root-val);} };法二迭代 Java class Solution {public ListInteger postorderTraversal(TreeNode root) {ListInteger ans new ArrayList();if(root null) return ans;StackTreeNode stk new Stack();stk.push(root);while(!stk.isEmpty()){root stk.pop();ans.add(root.val);if(root.left ! null) stk.push(root.left);if(root.right ! null) stk.push(root.right);}Collections.reverse(ans);return ans;} }C class Solution { public:vectorint postorderTraversal(TreeNode* root) {vectorint ans;if(root nullptr) return ans;stackTreeNode* stk;stk.push(root);while(!stk.empty()){root stk.top();stk.pop();ans.push_back(root-val);if(root-left ! nullptr) stk.push(root-left);if(root-right ! nullptr) stk.push(root-right);}reverse(ans.begin(), ans.end());return ans;} };运行结果 复杂度分析 时间复杂度 O ( n ) O(n) O(n)其中 n 是二叉树的节点数。每一个节点恰好被遍历一次。空间复杂度 O ( n ) O(n) O(n)为递归或迭代过程中栈的开销平均情况下为 O ( l o g ⁡ n ) O(log⁡n) O(log⁡n)最坏情况下树呈现链状为 O ( n ) O(n) O(n)。 题目来源力扣。 放弃一件事很容易每天能坚持一件事一定很酷一起每日一题吧 关注我 leetCode专栏每日更新 注 如有不足欢迎指正
http://www.hkea.cn/news/14334582/

相关文章:

  • 上海网站建设lv cn西宁手机微网站建设
  • 怎么可以上传自己做的网站种子搜索网站怎么做的
  • 上传宝贝网站建设属于什么类目网站设计构想
  • 上海网站建设网站优化appwordpress 支持
  • 长春怎么做网站设计发明的网站
  • 成都手机网站开发设计工作室一年收入
  • 电商平台网站设计公司百度一下首页官网百度
  • 物流网站制作怎么做网站建设的语言
  • 阿里云添加网站wordpress教程文档
  • 创建网站的方案网站建设 信息化程度
  • 深圳网站建设的价格网站后台制作这么做
  • 文山网站建设兼职wordpress字体选择
  • 一个专门做破解的网站网站如何调用数据库
  • 网站建设计划表模板下载有关设计的网站
  • 网站推广公司傻大白湛江网站设计公司地址
  • 网站基础功能介绍1688外贸
  • 网站编辑是做什么学计算机网站开发好吗
  • 云南省建设厅网站人员查询电商营销策划方案范文
  • 大连网站建设报价wordpress onepager
  • 网站建设安排总结微信二维码无法打开网页 为什么
  • 什么是开放式的网站wordpress移动端底部导航栏
  • 网站正在建设代码镇江网站制作企业网站
  • 建设网站是不是要买服务器51素材免费下载
  • 学校网站建设实训做3d兼职网站
  • 诛仙3官方网站做花灯答案百度做网站刷排名
  • 页面设计网站素材企业信用信息系统
  • 建设网站包维护上海网站群建设
  • 广州网站建设公司哪家比较好微信公众号的子菜单网页怎么制作
  • 访问网站的原理网站后台地址修改
  • 成都微信网站建设报价单网页制作模板dw