Binary Tree Level Order Traversal
题目地址:
https://leetcode.com/problems/binary-tree-level-order-traversal/#/description
题目:
解题思路:
这道题应该用bfs来解决,而实现bfs就需要用到queue。
代码:
https://leetcode.com/problems/binary-tree-level-order-traversal/#/description
题目:
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
Given binary tree
[3,9,20,null,null,15,7], 3
/ \
9 20
/ \
15 7
return its level order traversal as:
[ [3], [9,20], [15,7] ]
解题思路:
这道题应该用bfs来解决,而实现bfs就需要用到queue。
代码:
public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> rst = new ArrayList<>(); if(root == null){ return rst; } Queue<TreeNode> q = new LinkedList<>(); q.offer(root); while(!q.isEmpty()){ int size = q.size(); List<Integer> list = new ArrayList<>(); for(int i = 0; i <= size - 1; i++){ TreeNode node = q.poll(); if(node.left != null){ q.offer(node.left); } if(node.right != null){ q.offer(node.right); } list.add(node.val); } rst.add(list); } return rst; }

Comments
Post a Comment