力扣-二叉树的层序遍历

 2023-09-06 阅读 17 评论 0

摘要:给一个二叉树,请返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 参考代码(利用队列实现): class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<In

给一个二叉树,请返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。

参考代码(利用队列实现):

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> ret = new LinkedList<>();if (root == null){return ret;}Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()){//求当前队列的大小int size = queue.size();List<Integer> list = new ArrayList<>();//while(size>0)来控制当前每一层的数据个数while (size > 0){TreeNode cur = queue.poll();if (cur != null) {list.add(cur.val);if (cur.left != null) {queue.offer(cur.left);}if (cur.right != null) {queue.offer(cur.right);}}size--;}ret.add(list);}return ret;}
}

运行截图:
在这里插入图片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/9052.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息