LeetCode 107. Binary Tree Level Order Traversal II

来源:互联网 发布:自己动手装修房子软件 编辑:程序博客网 时间:2024/06/05 20:55
/** * 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<List<Integer>> levelOrderBottom(TreeNode root) {        List<List<Integer>> list = new ArrayList<List<Integer>>();    List<TreeNode> level = new ArrayList<TreeNode>();    List<Integer> value = new ArrayList<Integer>();    if (root != null) {    level.add(root);    value.add(root.val);    }    while (!level.isEmpty()) {    list.add(value);    List<TreeNode> newLevel = new ArrayList<TreeNode>();        List<Integer> newValue = new ArrayList<Integer>();    Iterator<TreeNode> it = level.iterator();    while (it.hasNext()) {    TreeNode node = it.next();    if (node.left != null) {        newLevel.add(node.left);        newValue.add(node.left.val);    }    if (node.right != null) {    newLevel.add(node.right);    newValue.add(node.right.val);    }    }    level = newLevel;    value = newValue;    }    Collections.reverse(list);    return list;    }}

0 0
原创粉丝点击