1. 程式人生 > 其它 >Java LeetCode 102. 二叉樹的層序遍歷

Java LeetCode 102. 二叉樹的層序遍歷

技術標籤:LeetCode

給你一個二叉樹,請你返回其按 層序遍歷 得到的節點值。 (即逐層地,從左到右訪問所有節點)。

在這裡插入圖片描述

廣度優先遍歷 bfs

/**
 * 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>
> levelOrder(TreeNode root) { if(root==null){ return new ArrayList(); } List<List<Integer>> res = new ArrayList(); Deque<TreeNode> que = new LinkedList(); que.offer(root); while(!que.isEmpty()){ int
size = que.size(); List<Integer> list = new ArrayList(); for(int i=0;i<size;i++){ if(que.peek().left!=null){ que.offer(que.peek().left); } if(que.peek().right!=null){ que.offer(que.
peek().right); } list.add(que.poll().val); } res.add(list); } return res; } }