[牛客题霸-研发] NC45-实现二叉树的先序、中序、后序遍历

TSMC 40nm LP工艺下,新手画版图最容易踩的5个坑(附Cadence避坑指南) 本文详细解析了TSMC 40nm LP工艺下版图设计的5个常见陷阱,包括MOS管尺寸转换、DNW隔离、Guard Ring设计、金属布线和DRC检查。通过Cadence实战技巧和设计规则优化,帮助新手工程师规避典型错误,提升版图设计效率和质量。 阅读详情

[牛客题霸-研发] NC45-实现二叉树的先序、中序、后序遍历

----------------------------------------------本题链接----------------------------------------------

题目描述

分别按照二叉树先序,中序和后序打印所有的节点。

示例

输入
{1,2,3}
 
返回值
[[1,2,3],[2,1,3],[2,3,1]]

思路

还是二叉树问题,前、中、后序遍历模板可参考[牛客经典必刷算法题] LC6-二叉树的后序遍历
很简单的问题,就是要注意一个小坑,否则会重复写很多代码
如果仔细思考模板,可以发现三种遍历模板框架其实差不多。
放到这个题里,我们代入模板,实际上只用一次递归就可以获得所有结果

算法过程

  1. 判断异常情况
  2. 递归遍历二叉树,一次性保存三种遍历结果
  3. 输出结果

解答

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param root TreeNode类 the root of binary tree
     * @return int整型二维数组
     */
    private ArrayList<Integer> preArr = new ArrayList<>();
    private ArrayList<Integer> inArr = new ArrayList<>();
    private ArrayList<Integer> postArr = new ArrayList<>();
    
    public int[][] threeOrders (TreeNode root) {
    	if(root == null) return null;
        dfs(root);
        int[][] res = new int[3][preArr.size()];
        for(int i = 0; i < preArr.size(); i++){
            res[0][i] = preArr.get(i);
            res[1][i] = inArr.get(i);
            res[2][i] = postArr.get(i);
        }
        return res;
    }
    
    private void dfs(TreeNode root){
        if(root == null) return;
        preArr.add(root.val); // 前序
        dfs(root.left);
        inArr.add(root.val);  // 中序
        dfs(root.right);
        postArr.add(root.val);// 后序
    }
}
100天精通Python(爬虫篇)——第114天:爬虫基础模块之requests基础入门 一、request模块大总结 1. 下载安装 2. 常用属性或方法 3. response.text和response.content的区别: 4. 发送带headers参数请求 5. 发送带参数请求 6. 在headers参数中携带cookie 7. 超时参数timeout的使用 8. proxies代理参数的使用 9. 发送post请求............... 阅读详情

相关推荐

【论文导读】ICDM2018|SASRec---基于自注意力机制的序列推荐(召回)

前言本次分享2018年发表在ICDM上的论文----「Self-Attentive Sequential Recommendation」。主要是应用self-attention机制来做一...

Blank_Space 8032

二叉树中等 牛客NC.45实现二叉树先序,中序和后序遍历

实现二叉树先序,中序和后序遍历 题目描述: 分别按照二叉树先序,中序和后序打印所有的节点。 花了一个多小时才做出来。。。。 难点:不知道树节点个数即不能直接创建数组,怎么存储遍历的数值 思路: 用ArrayList存储遍历的数,然后将ArrayList的值一个一个赋值给数组 求出树的节点个数,创建数组,遍历树将值存储在数组中。 我采用第二种思路做的,感觉做法复杂了,不如用ArrayList简单。独孤求败一剑江湖 的解法更好 代码: import java.util.*; /* * public cl

31楼下小黑的博客 241

转子动力学 | 临界速度与稳定性分析

本文深入探讨了转子动力学中的核心问题——临界速度与稳定性分析。临界速度是旋转机械发生共振的危险转速,通过模态分析和坎贝尔图可进行预测。文章还剖析了油膜涡动等稳定性问题,并结合ANSYS仿真案例,详细阐述了从建模、分析到设计优化的完整工程实践流程,为旋转机械的可靠设计与安全运行提供关键指导。

weixin_29313239的博客 517

牛客题霸NC45题解

实现二叉树先序中序后序遍历 牛客题霸NC45 难度:Easy 题目描述 分别按照二叉树先序,中序和后序打印所有的节点。 示例 输入 {1,2,3} 返回值 [[1,2,3],[2,1,3],[2,3,1]] 备注: n≤10^6 题目答案 import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } *

nuolve3993的博客 303

主板USB接口全部失效解决方案(通用串行总线USB控制器有黄色叹号)保姆级教程亲测有效

通用串行总线控制器总是有叹号解决办法 办公室的崩腾时代老电脑,疫情期间没人用,来了开机之后发现鼠标键盘都用不了,本以为是主机放时间长出了问题,后来想起来就百度了“鼠标键盘都失效”的标题,结果发现了“串行总线控制器总是感叹号”的关联问题。正好办公室电脑都装有teamviwer常用来远程办公(在家偷懒)。所以通过远程发现电脑室可以运行的。并在控制面板发现:通用串行总线控制器总是感叹号,插入外设时USB无反应。如图:​ 并且右键选中其中一个,点击最后一个选项:“属性” 可以发现“设备状态”中会提示“由...

xiao_bai_0_0的博客 2万+

“傻瓜”stata入门——熟悉操作界面

小白开始学习stata和matlab,零基础上手

nnpersistent的博客 4453

牛客-NC45-实现二叉树先序,中序和后序遍历

NC45. 实现二叉树先序,中序和后序遍历(medium)方法一:递归法方法二:迭代法 方法一:递归法 思路:三种遍历方法最常用得到救赎递归法,写法非常对称,只需要调整当前层的添加顺序即可,于是,我们可以写出以下代码: import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ public clas

dingzhi4469的博客 263

学习STM32的无人机控制

设计并实现无人机控制系统,使用STM32单片机进行控制。无人机控制系统主要包括飞行控制、姿态控制、定位导航等功能。以下是一个基于STM32的无人机控制系统的代码案例。以上是一个基于STM32的无人机控制系统的代码案例,包括飞行控制、姿态控制和定位导航等功能。请根据实际情况进行修改和完善。

qq_67153941的博客 837

算法分享系列No.3----实现二叉树的先序,中序和后序遍历

算法分享系列No.3----实现二叉树的先序,中序和后序遍历 本题考点:【树】【哈希】【栈】 遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有节点,使每一个节点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。 二叉树的遍历主要有三种,括号内为其特点: (1)先(根)序遍历(根左右) (2)中(根)序遍历(左根右) (3)后(根)序遍历(左右根)

尕白白的专栏 988

Win10环境下VS2019离线部署OnnxRuntime的完整指南

本文提供了在Windows 10系统下,为Visual Studio 2019进行OnnxRuntime离线部署的完整教程。针对网络受限环境,详细讲解了如何获取正确的离线安装包、配置本地NuGet源,并逐步指导项目配置与测试,确保AI模型在C++环境中顺利运行。

weixin_29205061的博客 398

用友u8服务器优化,用友U8erp软件运行的性能优化方案图文教程

今天一定要给大家分享一下用友U8erp软件运行的性能优化方案图文教程,以下方案来自用友软件官方维护工程师反馈在在处理客户问题的时候,有一类问题较为挠头,就是诸如用友U8服务器效率低下的问题。比如用友U8运行慢,卡住等,我们暂先不提用友U8软件代码、脚本层面本身的性能提升问题,我们只是基于现有用友U8软件版本,在客户现有环境下排查用友U8软件运行的性能瓶颈,并采取一定的技术手段进行性能调校。本文将推...

weixin_39882870的博客 5306

牛客NC45实现二叉树先序,中序和后序遍历(Java)(递归)

题目链接:牛客NC45实现二叉树先序,中序和后序遍历 题目描述: 简单板子,直接用递归写方便点 public class Solution { /** * * @param root TreeNode类 the root of binary tree * @return int整型二维数组 */ int cnt=0; public int[][] threeOrders (TreeNode root) { // write c

weixin_43590593的博客 211

SAP 创建PO时提示“不能确定任何组件”

SAP 创建委外加工的PO时提示“不能确定任何组件” 而如果BOM已经创建了,但还是提示该错误保存。 解决办法:1. BOM selection 未配置好; 2. 由于Purchasing prosessing time的设置,如果PO中的delivery time - Purchasing prosessing time是过去的日期,那么会找不到BOM,BOM的有效期需早 于PO审批的有效期。 3. BOM未...

willieyuan的博客 6115

牛客面试高频算法题js(实现二叉树先序,中序和后序遍历、最小的K个数、求二叉树的层序遍历、寻找第K大、链表中的节点每k个一组翻转)

牛客面试算法题

qq_48617322的博客 534

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

javaScript --牛客 NC45 实现二叉树先序,中序和后序遍历

题目描述 分别按照二叉树先序,中序和后序打印所有的节点。 二叉树的遍历主要有三种: (1)先(根)序遍历(根左右) (2)中(根)序遍历(左根右) (3)后(根)序遍历(左右根) /* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * * @param root TreeNode类 the root of binary tree *

sanjun_done的博客 235

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

牛客NC45 实现二叉树先序,中序和后序遍历C语言详细版

题干朴实无华的分别要求返回二叉树的先序,中序和后序遍历,思路很简单就是先序遍历一遍,中序遍历一遍,后序遍历一遍,然后存起来,返回,就可以了,但是因为我们要用C语言,所以就有很多需要注意到的地方了 上代码 /* 基本思路: */ /*计算二叉树大小*/ void getTreeSize(struct TreeNode* root,int* count) { /*求二叉树的节点个数就是左子树,右子树,根的个数总和*/ ++(*count);//根 /*右子树*/ if(root->right){

hdbzh的博客 439

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NC45 实现二叉树先序,中序和后序遍历

实现二叉树先序,中序和后序遍历_牛客题霸_牛客网 (nowcoder.com) /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param root TreeNode类 the root of binary tree * @return int整

salmonwilliam的博客 361

牛客网刷题笔记131111 Python实现LRU+二叉树先中后序打印+SQL并列排序

从学校步入职场一年多,已经很久没刷过题了,为后续稍微做些提前的准备,还是重新开始刷刷题。从未做过计划表,这回倒是做了个计划表,希望能坚持吧。刷题比较随性且量级不大,今天就写了2个算法+2个sql,sql感觉都相对简单且题库没什么好写的,后续考虑将sql的刷题计划改为对理论知识的回温。

qq_39051660的博客 664

牛客NC45 实现二叉树先序,中序和后序遍历(递归)

public int[][] threeOrders (TreeNode root) { ArrayList<Integer> list = new ArrayList(); ArrayList<Integer> list2 = new ArrayList(); ArrayList<Integer> list3 = new ArrayList(); preOrder(root,list); ...

qq_43434328的博客 223

牛客_实现二叉树先序,中序和后序遍历

实现二叉树先序,中序和后序遍历。

d3y1`5 81_09 280

牛客题霸——NC136 输出二叉树的右视图(Javascript)

一、题目地址 https://www.nowcoder.com/practice/c9480213597e45f4807880c763ddd5f0?tpId=188&&tqId=38640&rp=1&ru=/activity/oj&qru=/ta/job-code-high-week/question-ranking 二、具体代码 /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 求二叉树的右视图 * @param xia

weixin_45727472的博客 260

前中后序非递归遍历##

NC45实现二叉树先序,中序和后序遍历 实现二叉树先序,中序和后序遍历_牛客题霸_牛客网 // struct TreeNode{ // int val; // TreeNode*left; // TreeNode*right; // TreeNode(int x):val(x),left(nullptr),right(nullptr){} // }; //前中后序非递归遍历 //前序中序-while(!st.empty()||cur) //左路节点先入栈-出栈的时.

A240428037的博客 134

牛客210303

牛客21/03/03 NC78 反转链表 题目描述 输入一个链表,反转链表后,输出新链表的表头。 示例1 输入 {1,2,3} 返回值 {3,2,1} 题解1:利用python的赋值特性 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def

weixin_48464590的博客 380

牛客TOP101学习笔记

这里写目录标题一 链表BM1反转链表BM2链表内指定区间反转BM3链表中的节点每k个一组翻转BM4 合并两个排序的链表BM5 合并k个已排序的链表BM6 判断链表中是否有环BM7 链表中环的入口结点BM8 链表中倒数最后k个结点BM9 删除链表的倒数第n个节点BM10 两个链表的第一个公共结点BM11 链表相加(二)BM12 单链表的排序**BM13 判断一个链表是否为回文结构BM14 链表的奇偶重排BM15 删除有序链表中的重复元素-ⅠBM16 删除链表中的重复元素-Ⅱ二 数组**BM17** 二分查找.

且视他人之疑目如盏盏鬼火,大胆走吾之夜路! 1586

牛客面试高频榜单(第一组)难度:简单&中等

(1)NC78反转链表(2)NC140 排序两种常用排序用快排实现 用归并法实现 堆排序 优先队列

Ruizxzx的博客 352

【华为机试真题详解】机试题按知识点整理(入门指引)

【华为机试真题 Python实现】【2022 Q1 Q2 | 100分】《华为机试真题》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!本文解法非最优解(即非性能最优)。专栏的题目,麻烦都收藏,点赞一下,支持一下,感谢!!【牛客网】 HJ5 进制转换 【牛客网】 HJ1 字符串最后一个单词的长度HJ17 坐标移动 (中等) HJ20 密码验证合格程序(中等) HJ33 整数与IP地址间的转换(中等)【机试真题】字

1万+
上一篇: [牛客题霸-研发] NC93-设计LRU缓存结构
下一篇: [牛客题霸-研发] NC119-最小的k个数
Coder_JC_Liu
博客等级 码龄7年 2粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值