本文共 1074 字,大约阅读时间需要 3 分钟。
思路:抄102题,循环载入每层的node,逆向赋值即可。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List
> levelOrderBottom(TreeNode root) { List
> answerList = new ArrayList
>(); List
> list = new ArrayList
>(); if (root == null) { return list; } List initList = new ArrayList (); initList.add(root); answerList.add(initList); for (int i = 0; i < answerList.size(); i++) { List newList = new ArrayList (); for (int j = 0; j < answerList.get(i).size(); j++) { TreeNode tree = answerList.get(i).get(j); if (tree.left != null) { newList.add(tree.left); } if (tree.right != null) { newList.add(tree.right); } } if (newList.size() != 0) { answerList.add(newList); } } for (int i = answerList.size()-1; i >=0; i--) { List l = new ArrayList (); for (int j = 0; j < answerList.get(i).size(); j++) { l.add(answerList.get(i).get(j).val); } list.add(l); } return list; }}
耗时:304ms,中上游