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,#,#,15,7} ,
3 / 9 / 7
Return its bottom-up level order traversal as:
[ [15,7], [9,20], [3]]
/*** Definition for a binary tree node. * public class TreeNode {* int val; * TreeNode left; * TreeNode RI Ght * TreeNode (int x) {val = x;} }*/ Public classSolution { PublicList<list<integer>>levelorderbottom (TreeNode root) {//Unlike normal sequence traversal, when the result is placed, the head interpolation methodList<list<integer>> res=NewArraylist<list<integer>>(); List<Integer> seq=NewArraylist<integer>(); if(root==NULL)returnRes; intCurlevel=1; intNextlevel=0; LinkedList<TreeNode> queue=NewLinkedlist<treenode> ();//if it is a list, there is a problem and the Remove method cannot be foundQueue.add (root); while(!Queue.isempty ()) {TreeNode node=Queue.remove (); Seq.add (Node.val); Curlevel--; if(node.left!=NULL) {queue.add (node.left); Nextlevel++; } if(node.right!=NULL) {queue.add (node.right); Nextlevel++; } if(curlevel==0) {Res.add (0, seq); Curlevel=Nextlevel; Nextlevel=0; Seq=NewArraylist<integer>(); } } returnRes; }}
[Leedcode 107] Binary Tree level Order traversal II