摘要:解題思路層次遍歷二叉樹,我們采用隊列,本題的注意點是需要分割出每一層的序列,所以在從隊列中取元素之前,我們要先記錄隊列的大小,以表示這一層中節點的個數。
Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes" values. (ie, from left to right, level by level).
For example:
Given binary tree [3,9,20,null,null,15,7],
3 / 9 20 / 15 7
return its level order traversal as:
[ [3], [9,20], [15,7] ]
1.解題思路
層次遍歷二叉樹,我們采用隊列,本題的注意點是需要分割出每一層的序列,所以在從隊列中取元素之前,我們要先記錄隊列的大小,以表示這一層中節點的個數。
public class Solution { public List> levelOrder(TreeNode root) { List
> res=new ArrayList
>(); if(root==null) return res; Queue
q=new LinkedList (); q.offer(root); int count=0; while(q.peek()!=null){ count=q.size(); List subres=new ArrayList (); for(int i=0;i
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69810.html
摘要:代碼解題思路先序遍歷,同樣用迭代實現,借助棧。先將根節點入棧先序遍歷,所以直接出根節點因為順序是根,左節點,右節點,所以我們在壓棧的時候要先壓右節點,再壓左節點。所以我們自定義了一個類,添加了的屬性,來表明該節點是否已經被訪問過了。 Binary Tree Inorder TraversalGiven a binary tree, return the inorder traversa...
摘要:棧迭代復雜度時間空間遞歸棧空間對于二叉樹思路用迭代法做深度優先搜索的技巧就是使用一個顯式聲明的存儲遍歷到節點,替代遞歸中的進程棧,實際上空間復雜度還是一樣的。對于先序遍歷,我們出棧頂節點,記錄它的值,然后將它的左右子節點入棧,以此類推。 Binary Tree Preorder Traversal Given a binary tree, return the preorder tr...
429. N-ary Tree Level Order Traversal Given an n-ary tree, return the level order traversal of its nodes values. (ie, from left to right, level by level). For example, given a 3-ary tree:showImg(https...
摘要:題目要求對于一棵樹進行序遍歷。水平遍歷即遍歷結束當前行以后再遍歷下一行,并將每行的結果按行填入到數組中返回。利用水平遍歷的話,我們只需要知道當前元素在樹中的高度就可以知道應當插入到那個數組中。 題目要求 Given a binary tree, return the level order traversal of its nodes values. (ie, from left to...
102. 二叉樹的層次遍歷 題目描述 給定一個二叉樹,返回其按層次遍歷的節點值。 (即zhucengde,從左到右訪問)。 例如: 給定二叉樹: [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回其層次遍歷結果為: [ [3], [9,20], [15,7] ] class Solution: def le...
閱讀 1538·2021-11-04 16:10
閱讀 2774·2021-09-30 09:48
閱讀 2839·2019-08-29 11:31
閱讀 1578·2019-08-28 18:22
閱讀 3225·2019-08-26 13:44
閱讀 1319·2019-08-26 13:42
閱讀 2845·2019-08-26 10:20
閱讀 754·2019-08-23 17:00