FTPrep, 107 Binary Tree Level Order Traversal II

来源:互联网 发布:音乐播放器源码 编辑:程序博客网 时间:2024/05/22 15:11

看了题目之后,结合之前对 level traversal version I 和zigzag的总结,瞬间反映出来,只需要子在 version I 的基础上改一处代码即可。然已。

代码:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public List<List<Integer>> levelOrderBottom(TreeNode root) {        List<List<Integer>> result = new ArrayList<List<Integer>>();        if(root==null) return result;        List<TreeNode> currLevel= new ArrayList<TreeNode>();        currLevel.add(root);        while(!currLevel.isEmpty()){            List<Integer> numList = new ArrayList<Integer>();            List<TreeNode> nextLevel= new ArrayList<TreeNode>();            for(TreeNode node:currLevel){                numList.add(node.val);                if(node.left!=null) nextLevel.add(node.left);                if(node.right!=null) nextLevel.add(node.right);            }            currLevel=nextLevel;            result.add(0, numList);  // only need to add the 0 in add() function.        }        return result;            }}





原创粉丝点击