首页 > 代码库 > Binary Tree Level Order Traversal
Binary Tree Level Order Traversal
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]]
1 /** 2 * Definition for binary tree 3 * public class TreeNode { 4 * int val; 5 * TreeNode left; 6 * TreeNode right; 7 * TreeNode(int x) { val = x; } 8 * } 9 */10 public class Solution {11 public List<List<Integer>> levelOrder(TreeNode root) {12 List<List<Integer>> container = new ArrayList<List<Integer>>();13 if(null == root)14 return container;15 //List<TreeNode> theSameLevel = new ArrayList<TreeNode>();//存放同一层节点16 Queue<TreeNode> theSameLevel = new LinkedList<TreeNode>();17 theSameLevel.add(root);18 while(!theSameLevel.isEmpty()){//theSameLevel不为空19 List<Integer> oneLevel = new ArrayList<Integer>();20 Queue<TreeNode> temp = new LinkedList<TreeNode>();//暂存同一层的结点21 while(!theSameLevel.isEmpty()){22 TreeNode cur = theSameLevel.remove();23 oneLevel.add(cur.val);24 if(null != cur.left) 25 temp.add(cur.left);26 if(null != cur.right)27 temp.add(cur.right);28 }29 theSameLevel = temp;30 container.add(oneLevel);31 }32 33 return container;34 }35 }
Binary Tree Level Order Traversal
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。