范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

二叉树前中后序遍历

  来源:力扣(LeetCode)
  前序遍历链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
  中序遍历链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/
  后序遍历链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/ 题目描述
  二叉树的前序遍历节点访问顺序:根节点、左节点、右节点
  二叉树的中序遍历节点访问顺序:左节点、根节点、右节点
  二叉树的后序遍历节点访问顺序:左节点、右节点、根节点题目分析
  二叉树前中后序遍历主要提供了两种方法: 迭代 递归 前序遍历代码实现public class PreOrder {       public static void main(String[] args) {         PreOrder preOrder = new PreOrder(); //        TreeNode root = new TreeNode(1, null, new TreeNode(2, new TreeNode(3), null));         TreeNode root = null;         preOrder.preorderTraversal(root);         preOrder.preorder2(root);     }       /**      * 迭代算法      *      * @param root      * @return      */     public List preorder2(TreeNode root) {         List list = new ArrayList();          if(root == null){             return list;         }          LinkedList stack = new LinkedList();         stack.add(root);          while (!stack.isEmpty()) {             TreeNode treeNode = stack.getLast();             list.add(treeNode.val);             stack.removeLast();             if (treeNode.right != null) {                 stack.add(treeNode.right);             }             if (treeNode.left != null) {                 stack.add(treeNode.left);             }          }          System.out.println(list);         return list;     }       /**      * 递归      *      * @param root      * @return      */     public List preorderTraversal(TreeNode root) {         List list = new ArrayList();          order(root, list);         System.out.println(list);         return list;     }      private void order(TreeNode root, List list) {         if (root == null) {             return;         }         list.add(root.val);         if (root.left != null) {             order(root.left, list);         }         if (root.right != null) {             order(root.right, list);         }     }   }中序遍历代码实现public class MiddleOrder {       public static void main(String[] args) {         MiddleOrder preOrder = new MiddleOrder();         TreeNode root = new TreeNode(1, null, new TreeNode(2, new TreeNode(3), null)); //        TreeNode root = null;         preOrder.preorderTraversal(root);         preOrder.preorder2(root);     }       /**      * 迭代算法      *      * @param root      * @return      */     public List preorder2(TreeNode root) {         List list = new ArrayList();          if (root == null) {             return list;         }         LinkedList stack = new LinkedList();          while (root != null || !stack.isEmpty()) {             while (root != null) {                 stack.addLast(root);                 root = root.left;             }             root = stack.removeLast();             list.add(root.val);             root = root.right;         }          System.out.println(list);         return list;     }       /**      * 递归      *      * @param root      * @return      */     public List preorderTraversal(TreeNode root) {         List list = new ArrayList();          order(root, list);         System.out.println(list);         return list;     }      private void order(TreeNode root, List list) {         if (root == null) {             return;         }         if (root.left != null) {             order(root.left, list);         }         list.add(root.val);         if (root.right != null) {             order(root.right, list);         }     }   }后序遍历代码实现public class AfterOrder {       public static void main(String[] args) {         AfterOrder preOrder = new AfterOrder();         TreeNode root = new TreeNode(1, null, new TreeNode(2, new TreeNode(3), null)); //        TreeNode root = null;         preOrder.preorderTraversal(root);         preOrder.preorder2(root);     }       /**      * 迭代算法      *      * @param root      * @return      */     public List preorder2(TreeNode root) {         List list = new ArrayList();         if (root == null) {             return list;         }         LinkedList stack = new LinkedList();         TreeNode prev = null;         while (root != null || !stack.isEmpty()) {             while (root != null) {                 stack.addLast(root);                 root = root.left;             }             root = stack.removeLast();             if(root.right == null || root.right == prev){                 // 根节点                 list.add(root.val);                 prev = root;                 root = null;             } else {                 stack.addLast(root);                 root = root.right;             }         }          System.out.println(list);         return list;     }       /**      * 递归      *      * @param root      * @return      */     public List preorderTraversal(TreeNode root) {         List list = new ArrayList();          order(root, list);         System.out.println(list);         return list;     }      private void order(TreeNode root, List list) {         if (root == null) {             return;         }         if (root.left != null) {             order(root.left, list);         }         if (root.right != null) {             order(root.right, list);         }         list.add(root.val);     }   }二叉树前中后序遍历,两种方法的复杂度时间复杂度:O(n)空间复杂度:O(n)
  好了,今天就到这里,感谢各位看官到这里,不如点个关注吧!

速柏CP2000GE固态硬盘评测中国芯电竞魂近年来,得益于电竞产业的高度发达,DIY硬件行业再次迎来了大的发展。从常规的电脑三大件板卡U,到非核心组件的存储外设氛围灯,几乎全品类的DIY硬件设备,都朝着电竞化进行产品和技术的保护Mate,华为启动D系列,新机将搭载骁龙加2K屏华为今年的表现可谓是一波多折,作为旗舰系列的华为P50缺失了最为重要的5G功能,这也使得大家对于华为的热爱开始降低。但华为也并非没有新的操作,根据最近的消息来看,华为为了保障华为M吃土也要入手的4款智能家居产品,无论是不是发烧友,都建议装上现如今,智能家居产品渐渐地走入了大众的视野,很多人家里也都开始慢慢地享受起了智能生活。但是,总的来说,使用智能家具的家庭还是极为少数的。仅有那些发烧友,恨不得把家里所有东西都换成智CIYNSOMars真无线耳机属于国人的好声音,音质品质不止169元现在的真无线蓝牙耳机厂商可以说是鱼龙混杂,价格也是从几十元到几千元,导致很多消费者不知道该如何选择适合自己的耳机?根据统计大家比较购买耳机的预算都在100300元这个区间,在电商平中国联通优畅享30e5G曝光,搭载骁龙480芯,定位低端售价或有惊喜之前华为拥有畅享系列,主打线下门店市场,如今华为畅享系列已经很久没有更新了。反之,中国联通推出了自主品牌UMAGIC优畅享系列,以年轻创新友爱个性为品牌基因,不难不联想到这两个手机小米平板510亿色真彩,配置丰富,价格真香小米平板5与PROSOC方面PRO采用了骁龙870,5采用了骁龙860这两块芯片都是旗舰级的芯片,在安卓阵营里面,这两块芯片都是非常不错的选择,也不像骁龙888那样的火龙,当然对标B站能看杜比视界了,但你的手机支持吗?大家注意嗷,我宣布个事儿啊,B站现在能传能看杜比视界格式的视频了。8月19日,杜比实验室与B站宣布,B站用户和创作者现在可以在平台上解锁杜比视界格式视频体验。所谓杜比视界是将HDR首发价899元华为显示器24英寸新品开售今年5月,华为发布了华为MateView和华为MateViewGT,这是华为首次进军高端显示器市场。这两款显示器均定位高端,华为MateView售价4699元,华为MateView手机日常耗电的小常识,一定要知道随着生活的水平越来越好,走在大街上最常见的就是每个人手一部手机,那么大家到底对于手机又有多少真正的了解呢。手机电量消耗无论我们买的什么手机,价格贵的还是便宜的,刨去每个手机受硬件配ROG游戏手机5s系列发布144Hz刷新率炫彩个性视窗3999元起ROG正式发布了ROG游戏手机5s系列,主打高性能发烧级游戏手机。配置6。78英寸24481080分辨率的144Hz刷新率AMOLED屏高通骁龙888Plus最高18GB内存600为什么越来越多人喜欢用国产手机玩游戏,而不是iPhone?简单说明一下,目前iPhone12系列待在的A14芯片依然是目前最强的移动端处理器,单核跑分为1603分,多核跑分为4187分,这些跑分成绩甚至比目前主流的安卓旗舰处理器骁龙888
华为Mate50或于6月底发布!预装鸿蒙3。0系统,真机渲染图惊喜据数码博主菊厂影业Fans最新透露,鸿蒙3。0正式版可能会在6月底伴随新旗舰一起发布,这也就意味着华为全新旗舰将会亮相,不出意外正是备受用户期待的华为Mate50系列。华为Mate一口气又签三所高校,华为这次选择剑走偏锋,毕业生笑了人才对企业的发展至关重要,多家科技公司为了获得更优质的技术型员工,选择和高校签订合同,或者建立研究基地。比如华为,就选择与排名前两位的高校建立合作关系,并不断培养相关技术人员。华为一骑绝尘!华为P50在DxOMark手机影像排名中位列第一近日,有专业测评机构DxOMark公布了手机影像的排名,华为P50Pro以144分的排名位列第一,而在此次排名中前10款有8款都是国产手机,可见国产手机在当下的智能手机市场上表现还华为签下大单,法国变相支持,国产5G又迈出一大步近年来,随着美国不断地修改规则,华为5G在西方已毫无立足之地,在万般无奈之下,任正非下令撤出了欧洲市场,转眼间,华为5G在国内已遍地开花,如今又开始在国外开辟新的市场了。近日,有消又一个新品牌将发布新品手机?没错,中国移动NZONE手机来了在智能手机市场,国内的头部品牌大致也就是苹果,小米,OPPO,vivo以及荣耀,华为了,华为目前的手机业务已经受阻,而为了生存,之前的华为荣耀独立于华为,成了一个独立的品牌荣耀了,36氪首发孕育健康管理平台好孕妈获3000万元B1轮融资,以保险数据服务打破变现天花板36氪获悉,孕育健康管理平台好孕妈完成3000万元人民币B1轮融资,由贵州省创新赋能大数据产业基金投资,宇泽资本担任独家财务顾问。本轮融资主要用于技术团队升级数据服务业务投入等方面有钱人的世界真的很难懂EsotericK01XD最近我一位陈年好友(音频小白)突然问起我SACD播放跟蓝光播放的区别,它俩根本不是一个范畴的好吗!奈何我跟他关系比较好(你我本无缘,全靠他花钱)我还简单的跟他做了普及SACD是Su麒麟芯片2022年01月03日新消息麒麟芯片麒麟芯片2022年01月03日新消息2022年送上惊喜华为5G手机现货麒麟芯片鸿蒙OS跌至2540元超曲屏麒麟芯片鸿蒙系统华为5G手机售价亲民值得期待!华为传来两个消息麒麟华为为什么招黑有人说小米招黑,其实华为招黑也不次于小米,看到过友商的高管公开怼,自媒体各种花样的黑,水军们带着节奏,但是有涉及华为的文章,少不了黑华为的评论!友商高管公开怼华为,什么的爱国绑架高元宇宙到底是什么?专家元宇宙产业化还很遥远元宇宙产业化还很遥远本报记者黄鑫火爆的元宇宙已经入选了2021年度十大网络用语,但是对于元宇宙到底是什么,专家们依然看法不一。1000个人眼中,就有1000个元宇宙。360公司创始一举拿下4000万美元融资,伙伴云能成为中国版Airtable么?记者李京亚编辑看起来很像电子表格的全球低代码领军企业Airtable成为新晋独角兽,给这个赛道再次注入了一针强心剂。2021年12月13日,低代码公司Airtable宣布完成7。3