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

歡迎訪問 生活随笔!

生活随笔

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

java

剑指offer(Java实现) 从上往下打印二叉树

發布時間:2025/4/16 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 剑指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 {public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {ArrayList<Integer> resultList = new ArrayList<>();if (null == root) {return resultList;}LinkedList<TreeNode> queue = new LinkedList<>();queue.addLast(root);while (!queue.isEmpty()) {TreeNode node = queue.poll();resultList.add(node.val);if (null != node.left) {queue.addLast(node.left);}if (null != node.right) {queue.addLast(node.right);}}return resultList;} }

注意

在 JAVA 中,我們常用 LinkedList 來模擬鏈式隊列,具體方法如下:

增加:

  • add(E e):在鏈表后添加一個元素; 通用方法
  • addFirst(E e):在鏈表頭部插入一個元素; 特有方法
  • addLast(E e):在鏈表尾部添加一個元素; 特有方法
  • push(E e):與addFirst方法一致
  • offer(E e):在鏈表尾部插入一個元素
  • add(int index, E element):在指定位置插入一個元素。
  • offerFirst(E e):JDK1.6版本之后,在頭部添加; 特有方法 offerLast(E e):JDK1.6版本之后,在尾部添加; 特有方法

刪除:

  • remove() :移除鏈表中第一個元素; 通用方法
  • remove(E e):移除指定元素; 通用方法
  • removeFirst(E e):刪除頭,獲取元素并刪除; 特有方法
  • removeLast(E e):刪除尾; 特有方法
  • pollFirst():刪除頭; 特有方法
  • pollLast():刪除尾; 特有方法
  • pop():和removeFirst方法一致,刪除頭。
  • poll():查詢并移除第一個元素 特有方法

查:

  • get(int index):按照下標獲取元素; 通用方法
  • getFirst():獲取第一個元素; 特有方法
  • getLast():獲取最后一個元素; 特有方法
  • peek():獲取第一個元素,但是不移除; 特有方法
  • peekFirst():獲取第一個元素,但是不移除;
  • peekLast():獲取最后一個元素,但是不移除;
  • pollFirst():查詢并刪除頭; 特有方法
  • pollLast():刪除尾; 特有方法
  • poll():查詢并移除第一個元素 特有方法

總結

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

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