golang中怎么利用leetcode从上到下打印二叉树
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关golang中怎么利用leetcode从上到下打印二叉树,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。从上到下
千家信息网最后更新 2026年11月02日golang中怎么利用leetcode从上到下打印二叉树
本篇文章给大家分享的是有关golang中怎么利用leetcode从上到下打印二叉树,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回:
[3,9,20,15,7]
提示:
节点总数 <= 1000
解题思路:
1,这是一个二叉树和队列结合的题目
2,我们从根节点开始
3,依次进入队列每个节点和左右孩子节点
4,每次弹出首节点返回
5,需要注意根节点为空的情况
6,golang可以用slice模仿队列
golang小知识积累:
var a []int
a:=[]int{}
a:=make([]int,0)
这3种声明方式,哪一种更优?
答案是第一种
原因,第二种和第3种都有空间分配,第一种没有
不分配内存的还有一种变量,这就要说到一个特殊变量:匿名变量 ,也称作占位符,或者空白标识符,用下划线表示。
匿名变量,优点有三:
不分配内存,不占用内存空间
不需要你为命名无用的变量名而纠结
多次声明不会有任何问题
代码实现
/*** Definition for a binary tree node.* type TreeNode struct {* Val int* Left *TreeNode* Right *TreeNode* }*/func levelOrder(root *TreeNode) []int {var r []intif root==nil{return r}var q []*TreeNodeq=append(q,root)for len(q)>0{h:=q[0]r=append(r,h.Val)if h.Left!=nil{q=append(q,h.Left)}if h.Right!=nil{q=append(q,h.Right)}if len(q)==1{return r}else{q=q[1:]}}return r}
以上就是golang中怎么利用leetcode从上到下打印二叉树,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
节点
变量
内存
知识
队列
分配
更多
篇文章
实用
特殊
下划线
代码
优点
原因
孩子
就是
工作会
思路
总数
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
互联网科技名片
互联网科技公司起名
重庆互联网络科技
碳银互联网科技
智慧科技互联网
互联网 视角下的科技创新
科技互联网创业计划书
居家互联网科技有限公司
玖二柒互联网科技公司待遇
新华互联网科技2019
互联网时代科技改变生活
互联网校园科技培训
昊天互联网科技有限公司
杭州壁岐互联网科技有限公司
开一家科技互联网公司需要多少钱
链环科技传统企业怎么转型互联网
山东星卡互联网科技有限公司官网
唯美互联网科技
福仕德教育科技互联网
互联网 科技
狮子座互联网科技
互联网 科技创业
广西互联网科技公司
互联网前沿科技
中化能源互联网科技招聘
互联网和黑科技的看法
恒生互联网科技指数跳水
明优互联网科技有限公司
中和天地互联网科技有限公司