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

相关内容

热门资讯

被留置180天归来,成都老板恢... 人生最戏剧性的场面,可能就在A股市场上演。最近,上市公司*ST立航发布了一则引人关注的公告——公司实...
寒武纪半年狂赚10亿却备26亿... 记者丨雷晨编辑丨倪雨晴一家曾经长期处于亏损状态的中国AI芯片企业,正在大模型浪潮中迎来属于自己的“觉...
“90后”王守诚升任永辉CEO... 交流永辉,实名添加微信lihua759321进群永辉超市今日晚间发布人事任免公告,经永辉超市第六届董...
纳指创新高,英特尔大涨26%,... 记者丨倪雨晴 唐曜华编辑丨张伟贤 方海平 黎雨桐美股三大指数涨幅扩大,盘中纳指、标普500指数再创历...
内幕知情人提前“潜伏”,更有人... 天普股份(605255.SH)控制权转让公开前两多个月,来自收购方的两名内幕信息知情人,就提前买入被...
最低调的华人家族,蝉联印尼首富... 你知道靠着卖香烟这门生意,能做到多发达吗?在印尼这么一个对华人十分敏感的国家里,已经蝉联了十几年印尼...
DeepSeek严正声明 澎湃新闻 综合报道 9月17日晚,DeepSeek发布声明:近期,有不法分子冒充“深度求索”公司或在...
英特尔CEO发布内部信:要求全... 4月25日消息,英特尔CEO发布致全体员工内部信。其中提到,在全力聚焦工程创新的同时,也将削减组织架...
白云机场:10月旅客吞吐量同比... 11月5日消息,白云机场晚间公告,2024年10月旅客吞吐量682.12万人次,同比增长18.16%...
美股StubHub上市首日破发... 近几周,美股IPO市场重新泛起波澜,已有多只股票在IPO上市当日大涨,虽然后续有所回落,但相较发行价...