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

相关内容

热门资讯

行业传利好,29只生物医药股滚... 8月28日,为加快培育具有国际竞争力的生物医药产业集群,打造生物医药新兴支柱产业,江苏省工信厅发布《...
谷歌将支付2.6亿英镑,就应用... 8月28日,据报道,谷歌已同意支付2.6亿英镑(约合3.54亿美元),就一起英国集体诉讼达成和解。该...
美股三大指数全线收高,英伟达大... 美东时间8月27日,美股三大指数集体收涨,纳斯达克综合指数涨幅显著,道琼斯工业平均指数与标普500指...
迪哲医药:重新向香港联交所递交... 8月28日,迪哲医药早间公告,公司8月27日重新向香港联交所递交了发行H股股票并在香港联交所主板挂牌...
奈雪的茶,三条增长曲线都断了 ... 斑马消费 陈晓京顶着“新茶饮第一股”的光环,奈雪的茶却长期陷在亏损泥潭,有什么办法摆脱困境?新茶饮行...
广东88岁阿婆家门口遇眼镜蛇,... 近日,中山市第六人民医院(火炬开发区人民医院)成功救治该院首例毒蛇咬伤患者。一名88岁阿婆在家门口不...
成本从百万元降到万元?AI短剧... 「核心提示」成本降下来后,真正的竞争才开始。作者 |高泽编辑|邢昀短剧出海并不是一门新生意,但AI正...
比汽车把手缺陷更可怕的,是财报... 8月21日,国家市场监督管理总局一纸召回公告,将北汽蓝谷与特斯拉、小米等九家车企一同推向了舆论前台,...
行业再传利好 二十九只医药股市... 证券时报记者 梁谦刚随着国内药企源头创新能力持续提升、全球商业化体系不断完善、产业政策持续优化向好,...
A股震荡中如何实现6.7%投资... 本报(chinatimes.net.cn)记者吴敏 北京报道“短期的市场波动不改变我们长期配置的逻辑...