首页 > 代码库 > LeetCode Binary Tree Level Order Traversal
LeetCode Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes‘ values. (ie, from left to right, level by level).
For example:
Given binary tree {3,9,20,#,#,15,7}
,
3 / 9 20 / 15 7
return its level order traversal as:
[ [3], [9,20], [15,7]]
分层遍历二叉树,用队列模拟。
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> soluList=new ArrayList<List<Integer>>(); if (root==null) { return soluList; } LinkedList<TreeNode> queue=new LinkedList<>(); queue.push(root); List<Integer> currlist; int count=1; TreeNode node; int currlevel=0; while (!queue.isEmpty()) { currlist=new ArrayList<>(); currlevel=0; for (int i = 0; i < count; i++) { node=queue.pop(); currlist.add(node.val); if (node.left!=null) { ++currlevel; queue.add(node.left); } if (node.right!=null) { ++currlevel; queue.add(node.right); } } count=currlevel; soluList.add(currlist); } return soluList; }}
LeetCode Binary Tree Level Order Traversal
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。