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

相关内容

热门资讯

外交部:中国公民暂勿前往伊朗 “领事直通车”微信公号 近日,伊朗面临外部安全风险显著上升,多国发布建议本国公民撤离提醒。鉴于伊朗当...
业绩暴涨的九号电动,口碑面临下... 2月27日,九号公司(689009.SH)正式披露2025年度业绩快报,交出一份营收破200亿、净利...
贝特瑞去年实现营收169亿元,... 2月26日晚间,全球锂电负极材料龙头贝特瑞(920185.BJ)发布2025年年度业绩快报,公司全年...
美方:美国公民尽快离开以色列 央视新闻消息,美国驻以色列大使馆当地时间2月27日发布公告称,由于安全风险加剧,美国国务院已批准美国...
蜜雪冰城要建“雪王室内乐园”,... 红星资本局2月27日消息,红星资本局今日从接近蜜雪人士处获悉,蜜雪冰城(02097.HK)将打造全国...
君龙人寿拒赔,底气何在? 文丨吕行编辑丨杜海来源丨正经社(ID:zhengjingshe)(本文约为1000字)【正经社“保险...
外汇风险准备金率降至0 专家:...   中新经纬2月27日电 (宋亚芬)中国人民银行(以下简称央行)决定自2026年3月2日起,将远期售...
涪陵榨菜再度换帅背后,不少经销... 近日,“榨菜第一股”涪陵榨菜(002507.SZ)再度换帅。涪陵榨菜表示,目前,公司已收到实际控制人...
新华基金高管再调整:张鹏履新副... 近日,新华基金管理股份有限公司(下称“新华基金”)发布公告,宣布任命张鹏为公司副总经理兼财务负责人,...
领克一句道歉就完事了? 领克应该庆幸,庆幸车主只是撞了护栏。前两天晚上,有一辆领克Z20在高速公路上行驶,途中,车主通过语音...