日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

剑指Offer(Java实现)把二叉树打印成多行

發布時間:2025/4/16 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 剑指Offer(Java实现)把二叉树打印成多行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

從上到下按層打印二叉樹,同一層結點從左至右輸出。每一層輸出一行。

解題思路

利用輔助空間鏈表或隊列來存儲節點,每層輸出。

代碼實現

import java.util.ArrayList; import java.util.LinkedList;/* public class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}} */ public class Solution {ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {ArrayList<ArrayList<Integer>> res = new ArrayList<>();if (null == pRoot) {return res;}LinkedList<TreeNode> queue = new LinkedList<>();queue.offer(pRoot);ArrayList<Integer> list = new ArrayList<>();int start = 0;int end = 1;while (!queue.isEmpty()) {TreeNode node = queue.pop();start++;list.add(node.val);if (null != node.left) {queue.offer(node.left); // 也可用 queue.add(node.left);}if (null != node.right) {queue.offer(node.right); // 也可用 queue.add(node.right);}if (start == end) {start = 0;end = queue.size();res.add(new ArrayList<>(list));list.clear();}}return res;} }

注意

if (start == end) {start = 0;end = queue.size();res.add(new ArrayList<>(list));list.clear(); }

start 用于記錄當前節點在其所在層中的位置;end 用于記錄當前節點所在層的節點個數。

當 start == end 時,則說明當前層的節點都以記錄完成,存入ArrayList中;此時,需要將start重新設為0,而且,當前隊列中剩余元素皆為下一層中的節點,故需要將end設置為 queue.size(),并清除list,等待下一次遍歷的節點存儲。

if (null != node.left) {queue.offer(node.left); // 也可用 queue.add(node.left); } if (null != node.right) {queue.offer(node.right); // 也可用 queue.add(node.right); }

offer屬于 offer in interface Deque<E>,add 屬于 add in interface Collection<E>。

當隊列為空時候,使用add方法會報錯,而offer方法會返回false。

作為List使用時,一般采用add / get方法來 壓入/獲取對象。

作為Queue使用時,才會采用 offer/poll/take等方法作為鏈表對象時,offer等方法相對來說沒有什么意義這些方法是用于支持隊列應用的。

總的上來說,add() 與 offer() 基本情況可以通用。

總結

以上是生活随笔為你收集整理的剑指Offer(Java实现)把二叉树打印成多行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一本大道一区二区 | 少妇又白又嫩又色又粗 | 夜间福利在线 | 日韩成人精品视频 | 久久第一页 | 午夜激情网址 | 亚洲一区欧美 | 欧美日韩免费做爰视频 | 久久久www| 红桃视频亚洲 | 影音先锋男人资源网站 | 国产xxxxwwww | 波多野结衣导航 | 一级少妇片 | 亚洲一级片在线观看 | 欧美一区亚洲一区 | 日本国产一区二区 | 岛国av电影在线观看 | 美女91网站 | 日韩三级视频在线 | 夜夜爽夜夜叫夜夜高潮漏水 | 综合网中文字幕 | 日本高清网站 | 爆操日本美女 | 成年人看的黄色 | 男女无遮挡免费视频 | 国产av一区二区三区传媒 | 久久久久久久久久久久久久 | 亚洲最大福利视频网 | 一本色道久久hezyo无码 | 一级中国毛片 | 日本成人午夜 | 色偷偷五月天 | 美女中文字幕 | 日韩第二页 | 成人久久久久 | 淫五月 | 麻豆人妻少妇精品无码专区 | 天天操操操操 | 欧美精品一区二区成人 | 亚洲男人第一网站 | 亚洲字幕在线观看 | 日本高清视频一区二区三区 | 奇米影视第四色首页 | 九色精品| 伊人网综合 | 河北彩花av在线播放 | 亚洲欧美日韩色图 | 秋霞影院午夜丰满少妇在线视频 | 久久久亚洲成人 | 久久精品国产成人av | 国产偷自拍 | 91中文在线观看 | 动漫美女被吸乳奶动漫视频 | 欧美视频免费看 | 国产真人无遮挡作爱免费视频 | 中文字幕亚洲在线 | 国产精品国色综合久久 | 深夜福利视频导航 | 女生扒开尿口让男生桶 | 国产卡一卡二在线 | 公交顶臀绿裙妇女配视频 | 四虎影视免费看 | 精品国产乱码一区二区三区99 | 日韩黄色高清视频 | 狠狠干综合网 | 亚洲涩视频 | 嫩草影院在线视频 | 91亚色视频在线观看 | 国产农村妇女精品一二区 | 波多野在线播放 | 黄色片在线 | 日本做爰全过程免费看 | 亚洲一二区 | 最新日韩精品 | 国产人成在线观看 | 91国内视频 | 日韩不卡视频在线 | 麻豆影音先锋 | 国产精品传媒一区二区 | 国产精选在线观看 | 国产精品 色 | 99re这里只有精品在线观看 | a天堂在线资源 | 韩国中文字幕hd久久精品 | 大陆女明星乱淫合集 | av影院在线 | 欧美伊人久久 | 处破女av一区二区 | 一级特黄性色生活片 | 国产顶级毛片 | 激情综合区 | 五月天一区二区三区 | www.五月激情 | 麻豆人妻少妇精品无码专区 | 国产黄色录像 | 国产熟女一区二区丰满 | 精品自拍视频在线观看 | 日韩中文久久 |