LeetCode 107 二叉树的层次遍历 II

it2025-07-24  6

题目描述:

方法(广度优先搜索):

代码:

/** * 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>> list2 = new ArrayList<List<Integer>>(); if(root == null){ return list2; } Queue<TreeNode> q1 = new LinkedList<TreeNode>(); q1.offer(root); while(!q1.isEmpty()){ int size = q1.size(); List<Integer> list1 = new ArrayList<Integer>(); for(int i = 0;i < size;i++){ TreeNode node = q1.poll(); list1.add(node.val); TreeNode left = node.left; TreeNode right = node.right; if(left != null){ q1.offer(left); } if(right != null){ q1.offer(right); } } list2.add(0,list1); } return list2; } }

结果:

最新回复(0)