
题目来源:https://leetcode.com/problems/binary-tree-level-order-traversal/
这道题和107题刚好是相反的,所以将每层节点的值加入最终结果的Arraylist的尾部即可
代码:
/**
- 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> levelOrder(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); List<List<Integer>> result = new ArrayList<>(); queue.add(root); while(!queue.isEmpty()){ List<Integer> currentResult = new ArrayList<>(); int size = queue.size(); for(int i = 0;i < size;i++){ TreeNode node = queue.remove(); if (node != null){ currentResult.add(node.val); queue.add(node.left); queue.add(node.right); } } if(!currentResult.isEmpty()){ result.add(currentResult); } } return result;}
}




近期评论