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

相关内容

热门资讯

医美的钱都被谁赚了? 作者| 谢芸子编辑|张帆封面来源|视觉中国沉寂多年的新氧或许要“翻身”了,秘诀在于重新夺回定价权。通...
正虹科技:1月生猪销售收入同比... 新京报贝壳财经讯 正虹科技公告称,2026年1月销售生猪1.42万头,销售收入1434.68万元,环...
齐鲁银行行长兼任首席合规官,1... 本文来源:时代周报 作者:黄宇昆2026年开年以来,上市银行正在密集“补齐”首席合规官。2月4日晚,...
A股低开冲高回落后收跌:基础化... A股三大股指2月6日集体低开。早盘两市低开高走,三大股指成功转涨。午后冲高后,尾盘下挫。从盘面上看,...
客流暴涨350%!华润万家华北... 引言:春节未至,华北的零售市场却早已火热起来。其中,华润万家就是最具热力的品牌之一。2月6日,华润万...
江苏最大农商行预计1亿代价收购... 江南农商银行拟收购的溧水民丰村镇银行,74%股权已被挂上江苏省产权交易所待转让。以挂牌价格估算,江南...
比特币较去年高点腰斩!跌至64... 图片来源:摄图网全文共1003字,阅读全文约需2分钟2月6日凌晨,比特币价格出现大幅跳水,早间7时左...
收盘丨A股三大指数小幅下跌,油... 2月6日,A股三大指数低开高走,午后回落。截至收盘,沪指跌0.25%,深成指跌0.33%,创业板指跌...
【收盘】A股低开冲高回落后收跌... A股三大股指2月6日集体低开。早盘两市低开高走,三大股指成功转涨。午后冲高后,尾盘下挫。从盘面上看,...
燕梳之星平安人寿钟雯盈:以确定... 在高速变化的时代里,保险行业正经历着前所未有的变革。从最初的行业争议,到如今大众认知的逐步提升,保险...