算法:二叉树
admin
2024-04-28 01:17:38
0

一 从上到下打印二叉树

1.1 题目描述

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

例如:
给定二叉树: [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7
返回:

[3,9,20,15,7]

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof
 

1.2 思路以及代码

1.2.1 构建二叉树

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SuanfapRractice
{public class TreeNode{public int data;public TreeNode leftChild;public TreeNode rightChild;public TreeNode(int data){this.data = data;}}
}

这是二叉树的构造类

1.2.2 题解以及代码

我们需要构建具体的二叉树,从根开始root,然后分别将节点连接。

在遍历二叉树的时候,从本题我们可以知道我们使用的是层遍历,层遍历需要借助一个队列,去记录下一层的节点。

using System.Collections;
using System.Collections.Generic;
using System.Numerics;
using System.Reflection.Metadata.Ecma335;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System;
using System.Collections.Generic;
using System.Xml.Linq;
using SuanfapRractice;
using System.Linq;public class Solution
{public static void Main(String[] args){TreeNode root = new TreeNode(3);root.leftChild = new TreeNode(9);root.rightChild = new TreeNode(20);root.rightChild.leftChild = new TreeNode(15);root.rightChild.rightChild = new TreeNode(7);LevelOrder(root);}public static  int[] LevelOrder(TreeNode root){if (root == null){return new int[0];}Queue queue = new Queue();queue.Enqueue(root);List res = new List();while (queue.Count > 0){TreeNode node = queue.Dequeue();res.Add(node.data);if (node.leftChild != null){queue.Enqueue(node.leftChild);}if (node.rightChild != null){queue.Enqueue(node.rightChild);}}// 使用foreach LINQ方法res.ForEach(num => Console.WriteLine(num + ", "));//打印return res.ToArray();}

结果为

3,9,20,15,7,

1.2.3 c#需要注意的点

入队   Enqueue,出队 Dequeue

Queue q = new Queue();
q.Enqueue('A');
ch = (char)q.Dequeue();

相关内容

热门资讯

2025新能源重卡1-10月销... 新能源重卡大增2025年是我国重型卡车的大年,预计全年销量有望破百万辆大关,今年更是新能源重卡的爆发...
股价半年涨超2倍!恒勃股份汽摩... 今年以来,恒勃股份(301225.SZ)股价涨势显著。数据显示,3月6日,恒勃股份以每股30.96元...
年内分红近百亿,华夏基金持续提... 公募基金的分红潮在2025年依然势头强劲。Wind数据显示,2025年前9月,共有2908只(不同份...
嘉元科技:与宁德时代签订合作框... 新京报贝壳财经讯 11月5日,嘉元科技公告,公司近日与宁德时代签订了《合作框架协议》。根据协议,双方...
小金属板块尾盘拉升,中钨高新涨... 新京报贝壳财经讯 11月5日,小金属板块尾盘拉升,中钨高新涨停,东方钽业、云南锗业、章源钨业、兴业银...
业绩承压背后 看见古井贡酒穿越... 当前白酒行业正经历一场深刻的“压力测试”,三季度大多数酒企业绩承压已成事实,行业共同面临转型阵痛。是...
“腰部主播双11没流量”!头部... 红星资本局11月5日消息 随着双11大促开启,红星资本局注意到,不少中小主播和商家在社交平台发声,称...
ETF今日收评 | 光伏、电网... 11月5日,市场全天震荡反弹,三大指数低开高走,全线收红。盘面上,市场热点轮番活跃,电网设备板块持续...
V观财报|免息借100万,A股...   中新经纬11月5日电 (张澍楠)年内,多家A股公司为员工提供免息借款。  这些公司“帮忙”买房 ...
前三季度我国服务贸易稳步增长 ... 11月4日,商务部公布数据显示,2025年前三季度,我国服务贸易稳步增长,服务进出口总额59362....