千家信息网

怎么进行从上打印python二叉树

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,今天就跟大家聊聊有关怎么进行从上打印python二叉树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。0x01,问题简述从上到下打印出二叉树的每
千家信息网最后更新 2024年09月21日怎么进行从上打印python二叉树

今天就跟大家聊聊有关怎么进行从上打印python二叉树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

0x01,问题简述

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

0x02,示例

例如:给定二叉树: [3,9,20,null,null,15,7],
3 / \ 9 20 / \ 15 7返回:
[3,9,20,15,7]
0x03 ,题解思路
利用二叉树的特点和队列的结构进行解决

0x04 ,题解程序

import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;
public class LevelOrderTest3 { public static void main(String[] args) { TreeNode t1 = new TreeNode(3); TreeNode t2 = new TreeNode(9); TreeNode t3 = new TreeNode(20); TreeNode t4 = new TreeNode(15); TreeNode t5 = new TreeNode(7); t1.left = t2; t1.right = t3; t3.left = t4; t3.right = t5; int[] levelOrder = levelOrder(t1); for (int num : levelOrder ) { System.out.print(num + "\t"); }
}
public static int[] levelOrder(TreeNode root) { if (root == null) { return new int[0]; } Queue queue = new LinkedList<>(); queue.add(root); List list = new ArrayList<>(); while (!queue.isEmpty()) { TreeNode node = queue.poll(); list.add(node.val); if (node.left != null) { queue.add(node.left); } if (node.right != null) { queue.add(node.right); } } System.out.println("list = " + list); int[] result = new int[list.size()]; for (int i = 0, size = list.size(); i < size; i++) { result[i] = list.get(i); } return result; }}
0x05,题解程序图片版

看完上述内容,你们对怎么进行从上打印python二叉树有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0