算法:二叉树
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();

相关内容

热门资讯

特朗普:考虑驱逐马斯克! 这是3月14日,在美国华盛顿白宫,美国总统特朗普(左)和特斯拉公司首席执行官埃隆·马斯克在办公室内交...
恒生指数开盘涨0.96%,恒生... 7月2日,恒生指数开盘涨0.96%,恒生科技涨1.07%。银河娱乐涨逾9%,领涨蓝筹。比亚迪股份涨逾...
国内“最不卷”的公司,也要冲击... 上下班不打卡、没有KPI考核、工资多少员工自己定、园区内还有为员工及家属自建的体检中心和幼儿园。除了...
投入500亿!淘宝闪购直补商家... 淘宝闪购7月2日宣布启动500亿元 的 补贴计划,以持续激发市场消费活力。500亿规模的平台直补,将...
沪指微幅高开 海洋经济概念活跃...   中新经纬7月2日电 2日,A股三大指数开盘涨跌不一,上证指数涨0.01%,报3458.17点;深...
「潮起文创 消费焕新」文创消费... 从《哪吒2》刷新票房记录,到潮玩Labubu一“BU”难求,从《黑神话:悟空》引发全球游戏圈热议,到...
滚动更新丨创业板指低开0.36... 09:32 光伏设备板块盘初活跃,亚玛顿涨停,大全能源、凯盛新能、通威股份、东方日升多股高开。09:...
“一网打尽”港股核心资产 这只... 南向资金年内大幅流入,逼近历史峰值,港股核心资产的配置窗口仍然开启。文/每日财报 杨悦今年,在全球资...
波音高层再“换血”,安全危机持... 继去年更换首席执行官后,波音的首席财务官也将发生变动。7月1日,波音宣布首席财务官布莱恩・韦斯特(B...
人效碾压拼多多的椰子水上市:4... 作者 | 李小霞编辑 | 乔芊随着if椰子水母公司成功上市,一只椰子的“钞能力”再次被呈现出来。 6...