给一个二叉树,请返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。
参考代码(利用队列实现):
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;}
}
运行截图:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态