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

相关内容

热门资讯

盐湖文商旅丨(64) 在博物馆... △新闻视频 国庆假期,盐湖区博物馆通过“静态展览+动态体验”的多元形式,将新石器时代的彩陶残片、商周...
美伊谈判卡在哪? 美国和伊朗代表团在巴基斯坦首都伊斯兰堡的谈判12日以美方率先宣布退场结束,未达成协议。 伊斯兰堡谈判...
佩斯科夫:复活节停火到期后 特... 当地时间4月12日,俄罗斯总统新闻秘书佩斯科夫在当日播出的一档节目中表示,复活节停火是出于俄罗斯总统...
俄方称将继续军事行动直到乌方愿... 新华社莫斯科4月12日电 据俄罗斯媒体12日报道,俄罗斯总统新闻秘书佩斯科夫说,东正教复活节停火结束...
普冉股份:筹划以现金方式收购诺... 9月15日消息,普冉股份(688766.SH)公告称,公司正筹划以现金方式收购参股公司珠海诺亚长天存...
全球甲醇电动生态联盟成立,搭建... 来源:市场资讯 (来源:贝壳财经) 新京报贝壳财经讯(记者张冰)4月12日,智能电动汽车发展高层论坛...
加拿大7月批发销售环比增长1.... 9月15日消息,加拿大7月批发销售环比增长1.2%,预估增长1.3%,前值为增长0.7%。(广角观察...
联合精密:拟收购成都迈特航空制... 9月15日消息,联合精密(001268.SZ)公告称,公司与邱廷贵签订《股权收购意向协议》,拟以现金...
国内期货夜盘开盘涨跌不一,沪金... 9月15日消息,国内期货夜盘开盘涨跌不一,沪金涨0.11%,沪银跌0.08%,铁矿涨0.38%,焦煤...
视频丨专家:霍尔木兹海峡控制权... 美国和伊朗在巴基斯坦启动谈判之际,有数艘美军舰船被曝11日通过霍尔木兹海峡。美国总统特朗普称美方“开...