做完这道题,只能说基本功很重要,数组中套数组就不会用了,过几天吧1做了,看自己到底等没。
https://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/
import java.util.*;
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public List<List<Integer>> levelOrderBottom(TreeNode root) {
// List<List<Integer>> list=new ArrayList<ArrayList<Integer>>();
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
if(root==null) return (List)list;
Queue<TreeNode> q=new LinkedList<TreeNode>();
q.offer(root);
while(!q.isEmpty())
{
ArrayList<Integer> temp=new ArrayList<Integer>();
int len=q.size();
for(int i=0;i<len;i++)
{
TreeNode t=q.poll();
temp.add(t.val);
if(t.left!=null) q.offer(t.left);
if(t.right!=null) q.offer(t.right);
}
ArrayList<Integer> arry2=new ArrayList<Integer>(temp);
list.add(arry2);
temp.clear();
}
int n=list.size();
for(int i=0;i<n/2;i++)
{
ArrayList temp=list.get(i);
list.set(i,list.get(n-1-i));
list.set(n-i-1,temp);
//swap
}
return (List)list;
}
}