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

相关内容

热门资讯

以匠心守古法,以科技护健康——... 中国商报(记者 王怡菲)在白酒行业向“风味+健康”双导向转型的浪潮中,功藏酒业集团凭借全产业链布局与...
郑州商业企业家联合会会长杨人上... 中国商报(记者 王怡菲)在健康中国战略深入推进的当下,大健康产业正迎来前所未有的发展机遇,同时也面临...
一片20元的卫生巾能监测激素水... 01.雷蛇推出3D全息桌面AI伴侣手办02.乐高推出能够感应其他积木的智能积木03.桌面充电器可将i...
石头科技的破局之战:港股IPO... 石头科技的破局之战:港股IPO与具身智能能否破解增长困局?在A股市场反复挣扎的“扫地机器人一哥”石头...
国晟科技:公司股票交易异常波动... 新京报贝壳财经讯 1月6日,国晟科技发布公告称,公司股票于2025年12月31日、2026年1月5日...
鲁比奥:美国计划从丹麦手中“购... 美国《华尔街日报》6日援引消息人士的话报道,美国国务卿鲁比奥在5日举行的国会闭门简报会上称,美国政府...
还给基民 500 亿 公募基金在一场不太体面的战斗里告别了2025年。去年 12 月末的最后几个交易日,一则围绕中证 A5...
A股三大股指震荡收涨:半导体产... A股三大股指1月7日集体小幅高开。半导体产业链的上涨,带动两市早盘震荡攀升。午后三大股指虽然都转跌,...
AI“引爆”扩产周期,半导体设... 国产半导体设备“长坡厚雪”,强确定性,未来将长期受益于先进制程和存储扩产,以及国产替代,正行至爆发前...
市场监管总局:45批次食品抽检... 华润万家销售的1批次“健美生”多种矿物质片不合格近期,市场监管总局办公厅发布的关于45批次食品抽检不...