Topic:
Given a binary tree, return the bottom-up level order traversal of its nodes ' values. (ie, from the left-to-right, the level by level from the leaf to root).
For example:
Given binary Tree [3,9,20,null,null,15,7]
,
3 / 9 / 7
Return its bottom-up level order traversal as:
[ [15,7], [9,20], [3]]
test instructions and analysis: gives the result of a binary tree breadth traversal, from the leaf node to the root node. Similar to the previous root node to the leaf node, only the result is reversed with collections.reverse.
Code:
/*** Definition for a binary tree node. * public class TreeNode {* int val; * TreeNode left; * TreeNode rig Ht * TreeNode (int x) {val = x;} }*/ Public classSolution { PublicList<list<integer>>levelorderbottom (TreeNode root) {List<List<Integer>> res =NewArraylist<>(); if(root==NULL)returnRes; List<Integer> list =NewArraylist<>(); Queue<TreeNode> queue=NewLinkedlist<>(); Queue.offer (root); Queue<TreeNode> queue1=NewLinkedlist<>(); while(!queue.isempty () | |!Queue1.isempty ()) {queue1.clear (); while(!queue.isempty ()) {//Traverse a layerTreeNode now =Queue.poll (); List.add (Now.val); if(now.left!=NULL) Queue1.offer (now.left); if(now.right!=NULL) Queue1.offer (now.right); } Queue=NewLinkedlist<> (queue1);//perform the next layer of traversalRes.add (NewArraylist<>(list)); List.clear (); //Clear} collections.reverse (res); returnRes; }}
[Leetcode] 107. Binary Tree level Order traversal II Java