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

相关内容

热门资讯

外交部回应美对台军售计划:中方... 【环球时报-环球网报道 记者 索炎琦】据路透社13日援引消息人士的话报道,一份包括先进拦截导弹在内的...
河南:继续实施消费品以旧换新政... 1月7日消息,河南省人民政府办公厅近日发布《推动2025年第一季度经济“开门红”若干政策措施》,其中...
深圳首家市内免税店落址福田深业... 1月7日消息,从深业集团商业产品线发布会上获悉,深圳首家市内免税店确定落址福田深业上城,由深业集团、...
富时中国A50指数期货涨幅收窄... 1月6日消息,富时中国A50指数期货涨幅收窄至0.66%,此前一度涨1.8%。
【外交部就伊朗局势回应:各方应... 【外交部就伊朗局势回应:各方应立即停止军事行动】外交部发言人郭嘉昆主持例行记者会。有记者就当前伊朗局...
波长光电:公司AR/VR相关产... 1月6日消息,波长光电在接受机构调研时表示,近期,随着AI技术的发展以及政府刺激内需扩大消费政策的出...
美股AI眼镜概念盘初集体拉升,... 1月6日消息,美股AI眼镜概念盘初集体拉升,Vuzix涨逾17%,Innovative Eyewea...
委内瑞拉、哥伦比亚联合声明:因... 委内瑞拉和哥伦比亚两国政府12日发表联合声明,宣布因“不可抗力”临时取消原定于13日在哥伦比亚边境城...
加总理宣布对该国北极地区投资超... 加拿大总理卡尼12日宣布将实施一项总预算超过400亿加元(约合293亿美元)的战略,全面强化该国在北...
华中科技大学同济医学院附属同济... 华中科技大学同济医学院附属同济医院3月13日发布情况通报: 据媒体此前报道,因颈部疼痛,唐先生预约...