【LeetCode】 107. Binary Tree Level Order Traversal II Binary Tree Level Order Traversal II (Easy) (JAVA)

【LeetCode】 107. Binary Tree Level Order Traversal II Binary Tree Level Order Traversal II (Easy) (JAVA)

Subject address: https://leetcode.com/problems/binary-tree-level-order-traversal-ii/

Title description:

Given a binary tree, return the bottom-up level order traversal of its nodes’ values. (ie, from left to right, level by level from leaf to root).

For example:
Given binary tree [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

return its bottom-up level order traversal as:

[
  [15,7],
  [9,20],
  [3]
]

Topic

Given a binary tree, return its node value to traverse from bottom to top. (That is, from the layer where the leaf node is located to the layer where the root node is located, traverse from left to right layer by layer)

Problem solving method

Same as the topic in I, except that the order of addition is different

【LeetCode】 102. Binary Tree Level Order Traversal Binary Tree Level Order Traversal (Medium) (JAVA)

/**
 * 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>> res = new ArrayList<>();
        if (root == null) return res;
        List<Integer> list = new ArrayList<>();
        List<TreeNode> nodes = new ArrayList<>();
        nodes.add(root);
        int count = 1;
        while (nodes.size() > 0) {
            TreeNode node = nodes.remove(0);
            count--;
            list.add(node.val);
            if (node.left != null) nodes.add(node.left);
            if (node.right != null) nodes.add(node.right);
            if (count == 0) {
                count = nodes.size();
                res.add(0, new ArrayList<>(list));
                list = new ArrayList<>();
            }
        }
        return res;
    }
}

Execution time: 2 ms, defeated 35.35% of users
in all Java submissions Memory consumption: 39.9 MB, defeated 7.41% of users in all Java submissions

Guess you like

Origin blog.csdn.net/qq_16927853/article/details/105823895