102 Binary Tree Level Order Traversal
发布时间:2020-12-14 04:15:31 所属栏目:大数据 来源:网络整理
导读: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, null ,15,7 ],? 3 / 9 20 / 15 7 return its level order traversal as:?[ [ 3 ],[ 9,20
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,null,15,7],? 3 / 9 20 / 15 7 return its level order traversal as:? [ [3],[9,20],[15,7] ] class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> result = new ArrayList<>(); if(root == null) return result; Queue<TreeNode> queue = new LinkedList<>(); // queue,stack interface?? queue.offer(root); while(!queue.isEmpty()){ int size = queue.size(); List<Integer> list = new ArrayList<>(); // create a new list here before the size for(int i = 0; i < size; i++){ TreeNode cur = queue.poll(); list.add(cur.val); if(cur.left != null) queue.offer(cur.left); if(cur.right != null) queue.offer(cur.right); } result.add(list); } return result; } } // stack,push,pop // queue. Offer,poll (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |